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

PHP filter_var: Understand How to Sanitize Input

PHP didn’t have a way to check or clean user input. Developers used scattered code—some wrote custom checks, others used…

PHP array_column: How to Extract Values from Arrays

The array_column function in PHP takes values from one column in a multidimensional array. You can use it to pull…

PHP array_filter: How to Filter Array Values with Examples

You can use array_filter in PHP to remove unwanted data from arrays. It works with a custom callback or default…

PHP array_combine: How to Merge Arrays as Key and Value

The array_combine function in PHP creates a new array with one array for keys and another for values. It needs…

MongoDB PHP Driver: Install and Get Started

Traditional relational databases like MySQL often take center stage. However, with the rise of NoSQL databases, MongoDB has emerged as…

PHP XML Expat Parser: A Complete Guide

If you've ever tried to pull data from an XML file, you know it can be a bit tricky at…

PHP Class Destructor: How It Works with Examples

A destructor in a PHP class runs when an object is no longer needed. It frees resources and cleans up…

PHP Named Arguments vs. Positional Arguments

The PHP named arguments are the names of the arguments through which the values are passed, allowing you to add…

PHP Resource Type | How the get_resource_type() Works

In this tutorial, I will explain what does mean the PHP resource and we are going to cover all PHP…

PHP IF Statement: A Guide to Conditional Logic

The IF statement in PHP helps to see if a condition is true or not. If it is true, it…

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.