Eu tenho uma matriz da seguinte maneira:
function example() {
/* some stuff here that pushes items with
dynamically created key strings into an array */
return array( // now lets pretend it returns the created array
'firstStringName' => $whatEver,
'secondStringName' => $somethingElse
);
}
$arr = example();
// now I know that $arr contains $arr['firstStringName'];
Preciso descobrir o índice de $arr['firstStringName']
para que eu possa percorrer array_keys($arr)
e retornar a string de chave 'firstStringName'
pelo seu índice. Como eu posso fazer isso?
Respostas:
Se você tem um valor e deseja encontrar a chave, use o
array_search()
seguinte:$key
agora conterá a chave do valor'a'
(ou seja,'first'
).fonte
array_filter()
pode ser usado se você precisar retornar todos os resultados correspondentes, em vez de apenas o primeiro, pois preserva as chaves.retornará o valor da chave para o elemento atual da matriz
http://uk.php.net/manual/en/function.key.php
fonte
Se bem entendi, você não pode simplesmente usar:
Veja o manual do PHP
fonte
Se o nome é dinâmico, você deve ter algo como
o que significa que $ key contém o valor da chave.
Você pode usar
array_keys()
para obter TODAS as teclas de uma matriz, por exemplote daria
fonte
Sim, você pode entender que php é um dos poucos idiomas que fornece esse suporte.
fonte
se você precisar retornar elementos de uma matriz com o mesmo valor, use a
array_keys()
funçãofonte
Aqui está outra opção
fonte
use
array_keys()
para obter uma matriz de todas as chaves exclusivas.Observe que uma matriz com chaves nomeadas como a sua
$arr
também pode ser acessada com índices numéricos, como$arr[0]
.http://php.net/manual/en/function.array-keys.php
fonte
você pode usar a função principal do php para obter o nome da chave:
como aqui: PHP: key - Manual
fonte