You are not logged in.
Login
or
Register
.
JsPHP: a JavaScript library providing the PHP API
Home
Register
Demo
Categories
Functions
Contributors
Download
Links
Comments
FAQ
Contact
View
Edit
Benchmark
Revisions
Developers
Dependencies
Talk
Links
array_search:
Edit: array_search
Function:
array_search
View array_search
Edit array_search
Edit code
Edit tests
Edit benchmark
View latest code
Edit latest code
Benchmark array_search
Comment on array_search
Comment on the latest code
View revisions
View versions
View contributors
View dependencies
View comments
View links
Download production code
Download development code
View the PHP docs
View phpjs.org
View phpjs.org raw code
Description:
Searches the array for a given value and returns the corresponding key if successful.
Edit function
Code
:
function array_search (needle, haystack, argStrict) { // http://jsphp.co/jsphp/fn/view/array_search // + 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) // * example 1: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'}); // * returns 1: 'surname' // * example 2: ini_set('phpjs.return_phpjs_arrays', 'on'); // * example 2: var ordered_arr = array({3:'value'}, {2:'value'}, {'a':'value'}, {'b':'value'}); // * example 2: var key = array_search(/val/g, ordered_arr); // or var key = ordered_arr.search(/val/g); // * returns 2: '3' var strict = !!argStrict, key = ''; if (haystack && typeof haystack === 'object' && haystack.change_key_case) { // Duck-type check for our own array()-created PHPJS_Array return haystack.search(needle, argStrict); } if (typeof needle === 'object' && needle.exec) { // Duck-type for RegExp if (!strict) { // Let's consider case sensitive searches as strict var flags = 'i' + (needle.global ? 'g' : '') + (needle.multiline ? 'm' : '') + (needle.sticky ? 'y' : ''); // sticky is FF only needle = new RegExp(needle.source, flags); } for (key in haystack) { if (needle.test(haystack[key])) { return key; } } return false; } for (key in haystack) { if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) { return key; } } return false; }
You have to be logged in to edit functions.
Edit tests
Code
:
You have to be logged in to edit tests.
Edit benchmark
Code
:
You have to be logged in to edit benchmarks.
[
top
]
Comments
There are no comments yet, be the first!
Please
Login
or
Register
to post comments.