array_find_key()WP 6.8.0

Находит ключ первого элемента массива, соответствующего указанному условию.

Полифил функции array_find_key() добавленной в PHP 8.4.

Передаёт callback-функции значение и ключ каждого элемента. Поиск прекращается после первого результата true.

Хуков нет.

Возвращает

int|string|null.

  • int - числовой ключ найденного элемента.
  • string - строковый ключ найденного элемента.
  • null - подходящий элемент не найден или массив пуст.

Использование

array_find_key( $array, $callback );
$array(array) (обязательный)
Массив для поиска.
$callback(callable) (обязательный)
Функция проверки вида callback( $value, $key ): bool, где $value - значение элемента, $key - его ключ.

Примеры

#1 Поиск ключа по значению

Найдём ключ первого значения больше 10.

$numbers = [
	'first'  => 4,
	'second' => 15,
	'third'  => 23,
];

$key = array_find_key(
	$numbers,
	static function ( $value ) {
		return $value > 10;
	}
);

var_dump( $key ); // string(6) "second"

Список изменений

С версии 6.8.0 Введена.

Код array_find_key() WP 7.1

function array_find_key( array $array, callable $callback ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.arrayFound
	foreach ( $array as $key => $value ) {
		if ( $callback( $value, $key ) ) {
			return $key;
		}
	}

	return null;
}