(PHP 8 >= 8.4.0)
array_find — コールバック関数を満たす最初の要素を返す
例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"