UNPKG

phpjs

Version:

php.js offers community built php functions in javascript

88 lines (73 loc) 2.73 kB
--- layout: page title: "JavaScript array_keys function" comments: true sharing: true footer: true alias: - /functions/view/array_keys:324 - /functions/view/array_keys - /functions/view/324 - /functions/array_keys:324 - /functions/324 --- <!-- Generated by Rakefile:build --> A JavaScript equivalent of PHP's array_keys {% codeblock array/array_keys.js lang:js https://raw.github.com/kvz/phpjs/master/functions/array/array_keys.js raw on github %} function array_keys (input, search_value, argStrict) { // From: http://phpjs.org/functions // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: jd // + improved by: Brett Zamir (http://brett-zamir.me) // + input by: P // + bugfixed by: Brett Zamir (http://brett-zamir.me) // * example 1: array_keys( {firstname: 'Kevin', surname: 'van Zonneveld'} ); // * returns 1: {0: 'firstname', 1: 'surname'} var search = typeof search_value !== 'undefined', tmp_arr = [], strict = !!argStrict, include = true, key = ''; if (input && typeof input === 'object' && input.change_key_case) { // Duck-type check for our own array()-created PHPJS_Array return input.keys(search_value, argStrict); } for (key in input) { if (input.hasOwnProperty(key)) { include = true; if (search) { if (strict && input[key] !== search_value) { include = false; } else if (input[key] != search_value) { include = false; } } if (include) { tmp_arr[tmp_arr.length] = key; } } } return tmp_arr; } {% endcodeblock %} - [Raw function on GitHub](https://github.com/kvz/phpjs/blob/master/functions/array/array_keys.js) Please note that php.js uses JavaScript objects as substitutes for PHP arrays, they are the closest match to this hashtable-like data structure. Please also note that php.js offers community built functions and goes by the [McDonald's Theory](https://medium.com/what-i-learned-building/9216e1c9da7d). We'll put online functions that are far from perfect, in the hopes to spark better contributions. Do you have one? Then please just: - [Edit on GitHub](https://github.com/kvz/phpjs/edit/master/functions/array/array_keys.js) ### Example 1 This code {% codeblock lang:js example %} array_keys( {firstname: 'Kevin', surname: 'van Zonneveld'} ); {% endcodeblock %} Should return {% codeblock lang:js returns %} {0: 'firstname', 1: 'surname'} {% endcodeblock %} ### Other PHP functions in the array extension {% render_partial _includes/custom/array.html %}