À partir d'un tableau qui ressemble à ce qui suit, comment puis-je obtenir l'index de la valeur la plus élevée du tableau. Pour le tableau ci-dessous, le résultat souhaité serait «11».
Array (
[11] => 14
[10] => 9
[12] => 7
[13] => 7
[14] => 4
[15] => 6
)
reset($arr); echo key($arr);
:)Réponses:
Ma solution est:
Remarque: de
cette façon, vous pouvez récupérer toutes les clés liées à une valeur maximale donnée.
Si vous n'êtes intéressé que par une clé parmi toutes, utilisez simplement $ maxs [0]
la source
array_keys
) et vous n'obtiendrez qu'une seule clé correspondant au max value<?php $array = array(11 => 14, 10 => 9, 12 => 7, 13 => 7, 14 => 4, 15 => 6); echo array_search(max($array), $array); ?>
array_search () renvoie les valeurs:
Renvoie la clé de l'aiguille si elle se trouve dans le tableau, FALSE sinon.
Si l'aiguille est trouvée dans la botte de foin plus d'une fois, la première clé correspondante est renvoyée. Pour renvoyer les clés de toutes les valeurs correspondantes, utilisez à la place array_keys () avec le paramètre optionnel search_value.
la source
Je sais que c'est déjà répondu mais voici une solution que je trouve plus élégante:
arsort($array); reset($array); echo key($array);
et voila!
la source
reset
n'est pas nécessaire, btw.D'autres réponses peuvent avoir un code plus court, mais celui-ci devrait être le plus efficace et facile à comprendre.
/** * Get key of the max value * * @var array $array * @return mixed */ function array_key_max_value($array) { $max = null; $result = null; foreach ($array as $key => $value) { if ($max === null || $value > $max) { $result = $key; $max = $value; } } return $result; }
la source
Quelque chose comme ça devrait faire l'affaire
function array_max_key($array) { $max_key = -1; $max_val = -1; foreach ($array as $key => $value) { if ($value > $max_val) { $max_key = $key; $max_val = $value; } } return $max_key; }
la source
Ma solution pour obtenir la clé la plus élevée est la suivante:
max(array_keys($values['Users']));
la source
la source
<?php $array = array ( '11' => 14, '10' => 9, '12' => 7, '13' => 7, '14' => 4, '15' => 6 ); foreach ($array as $key => $value) { if ($value >= $max) $max = max($array); } echo " The array in Maximum Value :".$max."<br/>"; ?>
la source
Fonction extraite de http://www.php.net/manual/en/function.max.php
function max_key($array) { foreach ($array as $key => $val) { if ($val == max($array)) return $key; } } $arr = array ( '11' => 14, '10' => 9, '12' => 7, '13' => 7, '14' => 4, '15' => 6 ); die(var_dump(max_key($arr)));
Fonctionne comme un charme
la source