Returns the key of the first element satisfying a callback function

# array_find_key

(PHP 8 >= 8.4.0)

array_find_key — Returns the key of the first element satisfying a callback function

### 说明

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

array_find_key() returns the key of the first element of an array for which the given `callback` returns `true`. If no matching element is found the function returns `null`.

### 参数

`array`
  The array that should be searched.
`callback`

  The callback function to call to check each element, which must be of the following signature:

  function callback(mixed `$value`, mixed `$key`): bool
  If this function returns `true`, the key is returned from array_find_key() and the callback will not be called for further elements.

### 返回值

The function returns the key of the first element for which the `callback` returns `true`. If no matching element is found the function returns `null`.

### 示例

示例 #1 array_find_key() example

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

    // Find the first animal with a name longer than 4 characters.
    var_dump(array_find_key($array, function (string $value) {
        return strlen($value) > 4;
    }));

    // Find the first animal whose name begins with f.
    var_dump(array_find_key($array, function (string $value) {
        return str_starts_with($value, 'f');
    }));

    // Find the first animal where the array key is the first symbol of the animal.
    var_dump(array_find_key($array, function (string $value, $key) {
       return $value[0] === $key;
    }));

    // Find the first animal where the array key matching a RegEx.
    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() - Returns the first element satisfying a callback function
- array_all() - 检查数组所有元素是否都满足回调函数的条件
- array_any() - Checks if at least one array element satisfies a callback function
- array_filter() - 使用回调函数过滤数组的元素
- array_reduce() - 用回调函数迭代地将数组简化为单一的值

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