Devuelve la clave del primer elemento que valida la función de retrollamada

# array_find_key

(PHP 8 >= 8.4.0)

array_find_key — Devuelve la clave del primer elemento que valida la función de retrollamada

### Descripción

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

array_find_key() devuelve la clave del primer elemento de un array para el cual la función de retrollamada `callback` devuelve `true`. Si no se encuentra ningún elemento, la función devuelve `null`.

### Parámetros

`array`
  El array a recorrer.
`callback`

  La función de retrollamada a utilizar, que debe respetar la siguiente firma:

  function callback(mixed `$value`, mixed `$key`): bool
  Si esta función devuelve `true`, la clave del elemento será devuelta por array_find_key() y la función de retrollamada no será llamada para los otros elementos.

### Valores devueltos

La función devuelve la clave del primer elemento para el cual la función de retrollamada `callback` devuelve `true`. Si no se encuentra ningún elemento, la función devuelve `null`.

### Ejemplos

Ejemplo #1 Ejemplo con array_find_key()

    <?php
    $array = [
        'a' => 'perro',
        'b' => 'vaca',
        'c' => 'gato',
        'd' => 'pato',
        'e' => 'oie',
        'f' => 'elefante'
    ];

    // Encontrar la clave del primer animal cuyo nombre tiene más de 5 caracteres.
    var_dump(array_find_key($array, function (string $value) {
        return strlen($value) > 5;
    }));

    // Encontrar la clave del primer animal cuyo nombre comienza con f.
    var_dump(array_find_key($array, function (string $value) {
        return str_starts_with($value, 'f');
    }));

    // Encontrar la clave del primer animal que es también la primera letra de su nombre.
    var_dump(array_find_key($array, function (string $value, $key) {
       return $value[0] === $key;
    }));

    // Encontrar la clave del primer animal que valida una RegEx.
    var_dump(array_find_key($array, function ($value, $key) {
       return preg_match('/^([a-f])$/', $key);
    }));
    ?>

El ejemplo anterior mostrará:

    string(1) "e"
    NULL
    string(1) "c"
    string(1) "a"

### Ver también

- array_find() - Devuelve el primer elemento que valida la función de retrollamada
- array_all() - Verifica si todos los elementos del array validan la función de retrollamada
- array_any() - Verifica que al menos un elemento del array valide la función de retrollamada
- array_filter() - Filtra los elementos de un array mediante una función de retrollamada
- array_reduce() - Reduce itérativemente un array

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