Avatar ·

Como obter a chave da primeira linha de um array bidimensional que contém o valor procurado?

Olá a todos! Sou novo em PHP e estou quebrando a cabeça com essa tarefa já há duas horas. Tenho um array bidimensional (array de linhas com dados de usuários):

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

Preciso encontrar a chave do primeiro nível (índice da linha) do registro onde name é igual a 'Мария'. Ou seja, quero obter 1 (índice da segunda linha).

Tentei usar array_search, mas ele só funciona com arrays unidimensionais. Tentei escrever um loop, mas ficou muito verboso. Existe uma maneira elegante de fazer isso sem um monte de loops aninhados? Preciso obter a chave da primeira ocorrência, não todas as ocorrências.

Desde já agradeço pela ajuda!

<<>>

Solução com array_filter e array_keys