Возвращает ключ первого элемента, который удовлетворяет callback-функции

# array_find_key

(PHP 8 >= 8.4.0)

array_find_key — Возвращает ключ первого элемента, который удовлетворяет callback-функции

### Описание

function array_find_key(array `$array`, callable `$callback`): mixed

Функция array_find_key() возвращает ключ первого элемента массива (array), для которого `callback`-функция вернула `true`. Функция вернёт `null`, если не найдёт ни одного элемента, который удовлетворяет условиям поиска.

### Список параметров

`array`
  Массив (array), в котором требуется найти ключ.
`callback`

  Callback-функция, которую функция вызовет для проверки элементов входного массива, со следующей сигнатурой:

  function callback(mixed `$value`, mixed `$key`): bool
  Функция 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"

### Смотрите также

- array_find() - Возвращает первый элемент, который удовлетворяет callback-функции
- array_all() - Проверяет, каждый ли элемент массива array удовлетворяет callback-функции
- array_any() - Проверяет, содержит ли массив array хотя бы один элемент, который удовлетворяет callback-функции
- array_filter() - Фильтрует элементы массива через callback-функцию
- array_reduce() - Итеративно сводит массив к единственному значению через callback-функцию

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open