Send a blank email to [email protected] to get a copy of this message
Hi internals,
To complement array_search(), I'm gauging the interest in adding the
following function:
mixed array_usearch(array $haystack, callable $fn, int $flags = 0)
It returns the first array key from a given haystack for which the callback
function returns a truthy value [1] or false otherwise. The callback
function receives the array item as its only argument [2].
The flags, described below, can be combined by using a binary or.
[1] the interpretation of the return value can be inverted by using
ARRAY_USEARCH_INVERT
[2] the array key is passed as the 2nd argument by using
ARRAY_USEARCH_USE_KEY
An implementation of array_all() and array_some(), which you may find in
ECMAScript:
function array_some(array $array, $fn)
{
return array_usearch($array, $fn) !== false;
}
function array_all(array $array, $fn)
{
return array_usearch($array, $fn, ARRAY_USEARCH_INVERT) === false;
}
Another example:
echo array_usearch(['a', 'b', 2], 'is_numeric'); // 2
The implementation can be found here:
https://github.com/datibbaw/php-src/compare/master...array-usearch
Let me know your thoughts.
--
--
Tjerk