php8.5
Home/ Manual/ array / functions/ array_find_key

array_find_key

PHP function Edit on GitHub ✎

(PHP 8 >= 8.4.0)

Returns the key of the first element satisfying a callback function

Description

array_find_key(array $array, callable $callback): mixed

array_find_key() returns the key of the first element of an Array for which the given callback returns true. If no matching element is found the function returns null.

Parameters

array

The Array that should be searched.

callback

The callback function to call to check each element, which must be of the following signature:

callback(mixed $value, mixed $key): bool

If this function returns true, the key is returned from array_find_key() and the callback will not be called for further elements.

Return Values

The function returns the key of the first element for which the callback returns true. If no matching element is found the function returns null.

Examples

array_find_key() example

php
<?php
$array = [
    'a' => 'dog',
    'b' => 'cat',
    'c' => 'cow',
    'd' => 'duck',
    'e' => 'goose',
    'f' => 'elephant'
];

// Find the first animal with a name longer than 4 characters.
var_dump(array_find_key($array, function (string $value) {
    return strlen($value) > 4;
}));

// Find the first animal whose name begins with f.
var_dump(array_find_key($array, function (string $value) {
    return str_starts_with($value, 'f');
}));

// Find the first animal where the array key is the first symbol of the animal.
var_dump(array_find_key($array, function (string $value, $key) {
   return $value[0] === $key;
}));

// Find the first animal where the array key matching a RegEx.
var_dump(array_find_key($array, function ($value, $key) {
   return preg_match('/^([a-f])$/', $key);
}));
?>

The above example will output:

output
string(1) "e"
NULL
string(1) "c"
string(1) "a"

See Also

Source: reference/array/functions/array-find-key.xml · from the official PHP manual (php/doc-en)