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
No answers yet.
Faça login para deixar uma resposta