Ok, donc j'ai besoin de saisir la position de 'blah' dans ce tableau (la position ne sera pas toujours la même). Par exemple:
$array = (
'a' => $some_content,
'b' => $more_content,
'c' => array($content),
'blah' => array($stuff),
'd' => $info,
'e' => $more_info,
);
Donc, je voudrais pouvoir retourner le numéro de l'emplacement de la touche "blah" dans le tableau. Dans ce scénario, il devrait retourner 3. Comment puis-je le faire rapidement? Et sans affecter du tout le tableau $ array.
$i = array_search('blah', array_keys($array));
Si vous savez que la clé existe:
PHP 5.4 ( Démo ):
echo array_flip(array_keys($array))['blah'];
PHP 5.3:
$keys = array_flip(array_keys($array));
echo $keys['blah'];
Si vous ne savez pas que la clé existe, vous pouvez vérifier avec isset
:
$keys = array_flip(array_keys($array));
echo isset($keys['blah']) ? $keys['blah'] : 'not found' ;
C'est simplement comme array_search
mais utilise la carte qui existe déjà dans n'importe quel tableau. Je ne peux pas dire si c'est vraiment mieux que array_search
, cela peut dépendre du scénario, donc juste une autre alternative.
$keys=array_keys($array);
vous donnera un tableau contenant les clés de $array
Ainsi, array_search('blah', $keys);
vous donnera l'index de blah
dans $keys
Et donc, $array