j'ai ce tableauélément de trouver PHP clé
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
comment puis-je obtenir la clé d'un élément? (Par exemple a = 0, c = 2)
j'ai ce tableauélément de trouver PHP clé
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
comment puis-je obtenir la clé d'un élément? (Par exemple a = 0, c = 2)
<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>
http://www.php.net/manual/en/function.array-flip.php
En utilisant array_search http://php.net/manual/en/function.array-search.php
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
?>
Utilisez array_search()
recherches le tableau pour une valeur donnée et renvoie la clé correspondante en cas de succès.
Exemple # 1 Exemple array_search()
<?php $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); $key = array_search('green', $array); // $key = 2; $key = array_search('red', $array); // $key = 1; ?>
Si vous souhaitez rechercher, voir array_search (http://www.php.net/manual/en/function.array-search.php)
Si vous itérez, vous pouvez utiliser différentes syntaxe:
foreach ($a as $key => $value) { ... }
foreach (array_keys($a) as $key) { $value = $a[$key]; ... }
array_keys($arr, 'a'); # 0
array_keys($arr, 'c'); # 2
Si vous voulez juste la les touches utilisent array_keys.
Si vous voulez retourner le tableau comme vous montrez dans votre exemple, utilisez array_flip
Personnellement, je aime la solution de @ SilentGhost mais vous souffriraient une pénalité de vitesse si vous faites plus d'une recherche, à laquelle vous pointez voudrait ce qui suit:
// assume you know you want the value for key 'c'
$array = ('a','b','c','d');
$keys = array_flip($array);
return $keys['c'];
Vous devriez être nominé pour la «réponse la plus rapide» dans le monde :) – Seb