PHP Conference Japan 2024

array_find

(PHP 8 >= 8.4.0)

array_find返回满足回调函数的第一个元素

描述

array_find(数组 $array, 可调用 $callback): 混合

array_find() 返回数组的第一个元素的值,该元素的给定 callback 返回 true。如果找不到匹配的元素,则函数返回 null

参数

数组
要搜索的 数组
回调函数

要调用的回调函数,用于检查每个元素,它必须是

callback(混合 $value, 混合 $key): 布尔值
如果此函数返回 true,则该值将从 array_find() 返回,并且不会对其他元素调用回调函数。

返回值

该函数返回 callback 返回 true 的第一个元素的值。如果找不到匹配的元素,则函数返回 null

示例

示例 #1 array_find() 示例

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

// 查找名称超过 4 个字符的第一个动物。
var_dump(array_find($array, function (string $value) {
return
strlen($value) > 4;
}));

// 查找名称以 f 开头的第一个动物。
var_dump(array_find($array, function (string $value) {
return
str_starts_with($value, 'f');
}));

// 查找数组键是动物名称第一个字母的第一个动物。
var_dump(array_find($array, function (string $value, $key) {
return
$value[0] === $key;
}));

// 查找数组键匹配正则表达式的第一个动物。
var_dump(array_find($array, function ($value, $key) {
return
preg_match('/^([a-f])$/', $key);
}));
?>

以上示例将输出

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

参见

  • array_find_key() - 返回满足回调函数的第一个元素的键
  • array_all() - 检查所有数组元素是否满足回调函数
  • array_any() - 检查至少一个数组元素是否满足回调函数
  • array_filter() - 使用回调函数过滤数组的元素
  • array_reduce() - 使用回调函数迭代地将数组简化为单个值
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top