PHP: array_any - Manual
(PHP 8 >= 8.4.0)
array_any — Checks if at least one array element satisfies a callback function
Description
array_any() returns true, if the given
callback returns true for any element.
Otherwise the function returns false.
Parameters
Return Values
The function returns true, if there is at least one element for which
callback returns true. Otherwise the function
returns false.
Examples
Example #1 array_any() example
<?php
$array = [
'a' => 'dog',
'b' => 'cat',
'c' => 'cow',
'd' => 'duck',
'e' => 'goose',
'f' => 'elephant'
];// Check, if any animal name is longer than 5 letters.
var_dump(array_any($array, function (string $value) {
return strlen($value) > 5;
}));// Check, if any animal name is shorter than 3 letters.
var_dump(array_any($array, function (string $value) {
return strlen($value) < 3;
}));// Check, if any array key is not a string.
var_dump(array_any($array, function (string $value, $key) {
return !is_string($key);
}));
?>
The above example will output:
bool(true) bool(false) bool(false)
See Also
- array_all() - Checks if all array elements satisfy a callback function
- array_filter() - Filters elements of an array using a callback function
- array_find() - Returns the first element satisfying a callback function
- array_find_key() - Returns the key of the first element satisfying a callback function
Found A Problem?
5 months ago
This can be a replacement for array_filter() where an existence check is the only purpose. But, unlike array_filter(), the callback always requires two arguments. There's no way to change this, so some a lot of old-fashioned string callables are no longer usable.
<?php
$arr = [45, 'abc', 'def', 'ghi'];
if (array_filter($arr, 'is_integer')) {
// works because of loose comparison: [45] == true
}
if (array_any($arr, 'is_integer')) {
// PHP Warning: Uncaught ArgumentCountError: is_integer() expects exactly 1 argument, 2 given
}
?>