PHP array_find: How to Locate Array Values with Examples

php array find

PHP array_find was released in PHP 8.4 to locate a value inside an array and returns the first match.

Understand the array_find Function in PHP

The array_find function checks values in an array and returns the first match.

The syntax looks like this:

array_find(array $array, callable $callback): mixed
  • $array holds the list of values.
  • $callback runs on each value.
  • It returns the first value that matches.

This function checks values one by one. It stops once it finds a match. You use this function to pick one value that meets a rule.

Here is an example:

$nums = [2, 4, 6, 7, 8];
$result = array_find($nums, fn($n) => $n > 5);
echo $result;

This returns 6 since it is the first value above five.

Use the array_find with Associative Arrays in PHP

You can use array_find with associative arrays. It checks values but keeps keys safe.

For example:

$users = [
    "john" => 25,
    "sara" => 30,
    "mike" => 18
];
$result = array_find($users, fn($age) => $age < 20);
echo $result;

This returns 18 since Mike’s age matches first.

Here is another example:

$products = [
    "pen" => 2,
    "book" => 5,
    "bag" => 15
];
$result = array_find($products, fn($price) => $price > 10);
echo $result;

This returns 15 since it is the first price above ten.

The Difference between array_find and array_filter

The array_find returns the first value that matches, while the array_filter returns all values that match.

Here is a table that shows you the key differences:

FunctionWhat it ReturnsUse Case
array_findFirst value that matchesStop at first valid value
array_filterAll values that matchKeep a full filtered list

Use array_find to get one value. Use array_filter to collect many values.

Examples of the array_find in PHP

Locate the first even number:

$nums = [3, 7, 10, 12, 15];
$result = array_find($nums, fn($n) => $n % 2 === 0);
echo $result;

This example checks each value and stops once it finds the first even number. The output is 10 since it is the first even value in the list.

Find the first user with the admin role:

$users = [
    ["name" => "alex", "role" => "editor"],
    ["name" => "sara", "role" => "admin"],
    ["name" => "john", "role" => "admin"]
];
$result = array_find($users, fn($u) => $u["role"] === "admin");
echo $result["name"];

This example returns sara since her role is the first match for the admin. The function checks the order and picks the first valid user role.

Match the first long word in a list:

$words = ["pen", "book", "dictionary", "bag"];
$result = array_find($words, fn($w) => strlen($w) > 5);
echo $result;

This example checks string length and picks the first match. It prints dictionary since this is the first word with more than five letters.

Detect the first product with a discount above 30%:

$discounts = [
    "pen" => 5,
    "bag" => 20,
    "phone" => 40,
    "tablet" => 25
];
$result = array_find($discounts, fn($d) => $d > 30);
echo $result;

This example looks at values in order and finds the first high discount. It prints 40 since the phone has the first discount above thirty percent.

Wrapping Up

You learned how array_find locates a single value and how it works with associative arrays. You also saw how it differs from array_filter.

Here is a quick recap:

  • array_find returns the first match.
  • It works with simple and associative arrays.
  • array_filter returns all matches.
  • Use the right function for your case.

FAQs

What does PHP array_find do?

The array_find function searches through an array and returns the first element that matches a condition. Example:
$result = array_find([1, 2, 3, 4], function($n) {
    return $n > 2;
});
echo $result; // Output: 3

How is PHP array_find different from array_filter?

  • array_find returns the first matching value.
  • array_filter returns all matching values.
Example:
$array = [1, 2, 3, 4, 5];

$find = array_find($array, fn($n) => $n > 3);
echo $find; // Output: 4

$filter = array_filter($array, fn($n) => $n > 3);
print_r($filter); // Output: [4, 5]

Can I use PHP array_find with associative arrays?

Yes, array_find works with associative arrays and can locate elements by custom rules. Example:
$users = [
    ["id" => 1, "name" => "Ali"],
    ["id" => 2, "name" => "Sara"],
    ["id" => 3, "name" => "Omar"]
];

$user = array_find($users, function($u) {
    return $u["name"] === "Sara";
});
print_r($user); 
// Output: Array ( [id] => 2 [name] => Sara )

How to write a custom PHP array_find function?

You can create a reusable array_find function that works with any type of array. Example:
function array_find($array, $callback) {
    foreach ($array as $key => $value) {
        if ($callback($value, $key)) {
            return $value;
        }
    }
    return null;
}

$numbers = [10, 20, 30, 40];
$result = array_find($numbers, fn($n) => $n === 30);
echo $result; // Output: 30

Similar Reads

Get Last Insert ID in PHP with MySQL PDO and MySQLi

Keeping track of the last record inserted is often important. Whether you are managing user registrations, processing orders, or handling…

PHP Magic Constants: Simplify Your Code

There are some tools known as "PHP magic constants" that will make your code a little more clever and versatile.…

PHP str_replace Function: How it Works with Examples

If you find a word that does not fit and want to fix it. You can use the PHP str_replace…

PHP $_SERVER: Basics and Examples

PHP $_SERVER is a superglobal. It’s a predefined variable containing information about your server, client, and request environment. As a…

PHP array_rand() Function: Usage & Examples

The array_rand() is a helper function in PHP that makes it easier when dealing with arrays; you can just pull…

Understanding the PHP Operator Precedence

The PHP operator precedence refers to when doing a calculation for three or more numbers, they are calculating its values…

PHP is_dir Function: Check if a Directory Exists

Sometimes, when you run a script, you may encounter an error because the directory you're trying to access doesn't exist.…

PHP Comment: How to Write Comments in PHP

let's now dive into PHP comments—these simple but super important integral parts of PHP coding. You can think of comments…

PHP $_FILES: How to Upload Files in PHP

The PHP superglobal $_FILES is a very important utility and great for dealing with file uploads on the web. When a user…

PHP Object | How to Create an Instance of a Class

The PHP object is an instance from the PHP class or the main data structure that is already been created…

Previous Article

HTML bdo Tag – Control Text Direction

Next Article

HTML sup Tag: How to Add Superscript in Web Pages

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *


Subscribe to Get Updates

Get the latest updates on Coding, Database, and Algorithms straight to your inbox.
No spam. Unsubscribe anytime.