(PHP 8 >= 8.4.0)
array_find_key — Возвращает ключ первого элемента, который удовлетворяет callback-функции
Функция array_find_key() возвращает ключ первого элемента
массива (array), для которого callback
-функция вернула true
.
Функция вернёт null
, если не найдёт ни одного элемента, который удовлетворяет условиям поиска.
array
callback
Callback-функция, которую функция вызовет для проверки элементов входного массива, со следующей сигнатурой:
Функция array_find_key() вернёт ключ и не станет вызывать callback-функцию для других элементов, если функция обратного вызова вернётtrue
.
Функция возвращает ключ первого элемента, для которого
callback
-функция вернула true
. Функция вернёт null
,
если не найдёт элемент, который удовлетворяет условиям поиска.
Пример #1 Пример поиска функцией array_find_key() первого ключа, который удовлетворяет callback-функции
<?php
$array = [
'a' => 'dog',
'b' => 'cat',
'c' => 'cow',
'd' => 'duck',
'e' => 'goose',
'f' => 'elephant'
];
// Найдём ключ первого животного, название которого длиннее 4 символов
var_dump(array_find_key($array, function (string $value) {
return strlen($value) > 4;
}));
// Найдём ключ первого животного, название которого начинается с буквы f
var_dump(array_find_key($array, function (string $value) {
return str_starts_with($value, 'f');
}));
// Найдём ключ первого животного, который совпадает с первой буквой названия
var_dump(array_find_key($array, function (string $value, $key) {
return $value[0] === $key;
}));
// Найдём ключ первого животного, который соответствует регулярному выражению
var_dump(array_find_key($array, function ($value, $key) {
return preg_match('/^([a-f])$/', $key);
}));
?>
Результат выполнения приведённого примера:
string(1) "e" NULL string(1) "c" string(1) "a"