PHP 8.4 released the array_any to test if at least one element matches a condition.
Table of Content
Understand the array_any Function in PHP
The array_any checks elements in an array. It returns true if one element passes the test. It returns false if no element passes the test.
The syntax looks like this:
array_any(array $array, callable $callback)$array: the array you want to check.$callback: the test function that runs on each element.
The function moves through each array element in order. It runs the callback with the element. The function stops when the callback returns true once. The function then returns true. If no element passes, the function returns false.
Here is a quick example:
$numbers = [2, 4, 6, 7];
$result = array_any($numbers, fn($n) => $n % 2 !== 0);
var_dump($result);This code checks if at least one number is odd. It finds that 7 is odd, so the function returns true.
So, how to implement PHP array_any in your code?
Not all PHP versions have this function. You can write your own function if the function does not exist with this code:
if( !function_exists( 'array_any' ) ) {
function array_any(array $array, callable $callback): bool {
foreach ($array as $value) {
if ($callback($value)) {
return true;
}
}
return false;
}
}This custom code runs the same logic. It checks each element and exits early once a match appears.
The Difference Between array_any and Built-in Functions in PHP
The array_any looks like array_filter or in_array, but the purpose is different. array_any only checks if a condition passes for one element.
Here is a table that shows key differences:
| Function | Purpose | Return Type |
|---|---|---|
array_any | Create an array with only matching elements | Boolean |
array_filter | Create array with only matching elements | Array |
in_array | Check if value exists in array | Test if any element passes the condition |
Use array_any when you only need a yes or no check. Do not use it to collect results.
Examples of array_any Function in PHP
Check Even Numbers:
$nums = [1, 3, 5, 8];
$result = array_any($nums, fn($n) => $n % 2 === 0);
var_dump($result); // bool(true)This code tests if the array has at least one even number, and the function finds 8 as even, so it returns true.
Check Strings for a Letter:
$words = ["hat", "dog", "cat"];
$result = array_any($words, fn($w) => strpos($w, "a") !== false);
var_dump($result); // bool(true)This code checks each string to see if it holds the letter “a”. The function finds “hat” and “cat”, so it returns true.
Validate User Ages:
$ages = [12, 15, 20];
$result = array_any($ages, fn($a) => $a >= 18);
var_dump($result); // bool(true)This code checks if any user is an adult with age 18 or more. The function finds 20, so it returns true.
Detect Negative Numbers:
$values = [4, -3, 7, 9];
$result = array_any($values, fn($v) => $v < 0);
var_dump($result); // bool(true)This code scans each number to see if it is negative. The function finds -3, so it returns true.
Wrapping Up
You learned what array_any does and how it behaves with arrays. Here is a quick recap:
- It checks if any array element passes a condition.
- It returns true at the first match.
- It returns false if no element matches.
- You can build your own function in versions without it.
- It differs from
array_filterandin_arraybecause it only tests and returns a boolean.
FAQs
What is php array_any function?
function array_any($array, $callback) {
foreach ($array as $value) {
if ($callback($value)) {
return true;
}
}
return false;
}
How do I use php array_any with numbers?
$numbers = [3, 7, 15, 2];
$result = array_any($numbers, function($n) {
return $n > 10;
});
var_dump($result); // true
How does php array_any compare to array_filter?
$values = [1, 2, 3, 4];
$any = array_any($values, fn($v) => $v === 3);
// true
$filter = array_filter($values, fn($v) => $v === 3);
// [2 => 3]
Can php array_any work with strings?
$words = ["apple", "banana", "pear"];
$result = array_any($words, function($word) {
return strlen($word) > 5;
});
var_dump($result); // true
Similar Reads
The PHP ternary operator gives you a way to write short expressions. It reduces lines of code and avoids long…
PHP supports OOP with access modifiers to prevent unintended changes and improve security. In this article, we will cover the…
PHP gives us the ability to work with MongoDB, highlighting the importance of CRUD (Create, Read, Update, Delete) operations for…
The array_column function in PHP takes values from one column in a multidimensional array. You can use it to pull…
PHP math may sound like a pretty simple thing, but I assure you it's a set of tools that will…
In PHP, manipulation of XML data can be very critical when most systems' data exchange relies on the format. XML—Extensible…
Constants in PHP store fixed values that don’t change during execution. We will cover the following topics in this article:…
PHP array_merge_recursive joins two or more arrays into one nested array and keeps all values with their keys. Syntax of…
When you start working with PHP, you’ll soon need access to variables from multiple places in your code. For this,…
PHP array_find was released in PHP 8.4 to locate a value inside an array and returns the first match. Understand…