Avatar ·

Cómo obtener la clave de la primera fila de un array bidimensional que contiene el valor buscado

¡Hola a todos! Soy nuevo en PHP y llevo dos horas dándole vueltas a un problema. Tengo un array bidimensional (array de filas con datos de usuarios):

$users = [
    ['id' => 101, 'name' => 'Иван', 'role' => 'admin'],
    ['id' => 102, 'name' => 'Мария', 'role' => 'editor'],
    ['id' => 103, 'name' => 'Петр', 'role' => 'admin'],
    ['id' => 104, 'name' => 'Анна', 'role' => 'user']
];

Necesito encontrar la clave del primer nivel (índice de la fila) del registro donde name sea igual a 'Мария'. Es decir, quiero obtener 1 (el índice de la segunda fila).

Intenté usar array_search, pero solo funciona con arrays unidimensionales. Traté de escribir un bucle, pero queda muy engorroso. ¿Hay alguna forma elegante de hacerlo sin montones de bucles anidados? Necesito obtener la clave de la primera coincidencia, no todas las coincidencias.

¡Gracias de antemano por la ayuda!

<<>>

Solución con array_filter y array_keys