Aprenda a obter a chave de um valor em um array no PHP

Veja como obter a chave correspondente a um valor dentro de um array no PHP utilizando diferentes abordagens.

Como obter a chave de um valor em um array no PHP?

Quando trabalhamos com arrays associativos, pode ser necessário encontrar a chave correspondente a um determinado valor. O PHP oferece diversas funções para essa tarefa, como array_search(), array_keys() e laços foreach().

A função array_search() retorna a primeira chave onde o valor foi encontrado:

<?php
$dados = ["nome" => "Carlos", "idade" => 30, "cidade" => "São Paulo"];
$chave = array_search("São Paulo", $dados);
echo "A chave correspondente é: $chave";
?>

Saída:

A chave correspondente é: cidade

Aqui, encontramos a chave cidade associada ao valor São Paulo.

Obtendo todas as chaves que possuem um determinado valor com array_keys()

Se quisermos todas as chaves de um valor (caso haja duplicação), usamos array_keys():

<?php
$numeros = ["a" => 100, "b" => 200, "c" => 100, "d" => 300];
$chaves = array_keys($numeros, 100);
print_r($chaves);
?>

Saída:

Array ( [0] => a [1] => c )

Isso retorna um array com todas as chaves associadas ao valor 100.

Obtendo a chave de um valor percorrendo o array com foreach()

Se quisermos encontrar chaves de forma personalizada, podemos usar foreach():

<?php
$cores = ["vermelho" => "#FF0000", "verde" => "#00FF00", "azul" => "#0000FF"];
foreach ($cores as $chave => $valor) {
    if ($valor == "#00FF00") {
        echo "A chave correspondente é: $chave";
    }
}
?>

Aqui, percorremos o array e encontramos a chave manualmente.

A obtenção de chaves de valores em arrays é essencial para manipulação dinâmica de dados no PHP. array_search() é ideal para encontrar a primeira ocorrência, enquanto array_keys() permite obter todas as chaves associadas a um valor. Em situações mais complexas, um loop foreach() pode ser usado para processamentos personalizados.

Algumas aplicações:

  • Busca de informações em arrays associativos
  • Filtragem de dados em grandes coleções
  • Identificação de elementos duplicados
  • Manipulação dinâmica de arrays e bancos de dados

Dicas para quem está começando

  • Use array_search() se precisar da primeira chave correspondente ao valor.
  • Se houver valores duplicados e quiser todas as chaves associadas, prefira array_keys().
  • Para verificações personalizadas, um foreach() pode ser mais flexível.
  • Verifique se array_search() retorna false caso o valor não seja encontrado.
  • Para buscas mais eficientes, considere organizar os dados em estruturas como bancos de dados ou objetos.
Foto de Daniel Moreira
Contribuições de
Daniel Moreira

Especialista em desenvolvimento web com PHP e construção de APIs REST.

Mais sobre o autor
Compartilhe este tutorial: Como obter a chave de um valor em um array?

Compartilhe este tutorial

Continue aprendendo:

Como verificar se um valor existe em um array?

Veja como verificar se um valor existe em um array no PHP utilizando diferentes abordagens para arrays numéricos e associativos.

Tutorial anterior

Como mesclar dois arrays no PHP?

Veja como unir dois arrays no PHP utilizando diferentes métodos para manipulação de listas de dados.

Próximo tutorial