183 votes

PHP - Récupère le nom de clé de la valeur du tableau

J'ai un tableau comme suit :

 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'];

J'ai besoin de trouver l'index de $arr['firstStringName'] pour pouvoir parcourir en boucle array_keys($arr) et renvoyer la chaîne de clé 'firstStringName' par son index. Comment puis je faire ça?

368voto

zrvan Points 1918

Si vous avez une valeur et que vous souhaitez trouver la clé, utilisez array_search() comme ceci :

 $arr = array ('first' => 'a', 'second' => 'b', );
$key = array_search ('a', $arr);

$key contiendra désormais la clé pour la valeur 'a' (c'est-à-dire 'first' ).

71voto

Mark Baker Points 90240
key($arr);

renverra la valeur clé pour l'élément de tableau actuel

http://uk.php.net/manual/en/function.key.php

50voto

rwb Points 640

Si j'ai bien compris, ne pouvez-vous pas simplement utiliser :

 foreach($arr as $key=>$value)
{
  echo $key;
}

Voir le manuel PHP

21voto

Marc B Points 195501

Si le nom est dynamique, alors vous devez avoir quelque chose comme

 $arr[$key]

ce qui signifierait que $key contient la valeur de la clé.

Vous pouvez utiliser array_keys() pour obtenir TOUTES les clés d'un tableau, par exemple

 $arr = array('a' => 'b', 'c' => 'd')
$x = array_keys($arr);

te donnerait

 $x = array(0 => 'a', 1 => 'c');

16voto

Rajat Singhal Points 7117

Oui, vous pouvez en fait php est l'un des rares langages à fournir un tel support.

 foreach($arr as $key=>$value)
{

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X