array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.array-find.php', 1 => 'array_find', 2 => 'Returns the first element satisfying a callback function', ), 'up' => array ( 0 => 'ref.array.php', 1 => '数组 函数', ), 'prev' => array ( 0 => 'function.array-filter.php', 1 => 'array_filter', ), 'next' => array ( 0 => 'function.array-find-key.php', 1 => 'array_find_key', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/array/functions/array-find.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

array_find

(PHP 8 >= 8.4.0)

array_findReturns the first element satisfying a callback function

说明

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

array_find() returns the value of the first element of an array for which the given callback returns true. If no matching element is found the function returns null.

参数

array
The array that should be searched.
callback

The callback function to call to check each element, which must be

callback(mixed $value, mixed $key): bool
If this function returns true, the value is returned from array_find() and the callback will not be called for further elements.

返回值

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

示例

示例 #1 array_find() example

<?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($array, function (string $value) {
return
strlen($value) > 4;
}));

// Find the first animal whose name begins with f.
var_dump(array_find($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($array, function (string $value, $key) {
return
$value[0] === $key;
}));

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

以上示例会输出:

string(5) "goose"
NULL
string(3) "cow"
string(3) "dog"

参见