95 votes

Renvoie l'index de la valeur la plus élevée dans un tableau

Dans un tableau ressemblant à 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'.

Tableau (

 [11] => 14
[10] => 9
[12] => 7
[13] => 7
[14] => 4
[15] => 6
 

)

217voto

AlberT Points 4195

Ma solution est:

 $maxs = array_keys($array, max($array))
 

Remarque:
De cette façon, vous pouvez récupérer chaque clé associée à une valeur maximale donnée.

Si vous n'êtes intéressé que par une clé parmi tous, utilisez simplement $ maxs [0]

39voto

Andrejs Cainikovs Points 7758
<pre><code></code><p><strong>array_search() Return Values</strong></p><p>Retourne la clé pour aiguille si on le trouve dans le tableau, FALSE sinon.</p><p><strong>première clé correspondante</strong></p></pre>

12voto

David 天宇 Wong Points 566

Je sais que cela a déjà été répondu, mais voici une solution que je trouve plus élégante:

 arsort($array);
reset($array);
echo key($array);
 

et le tour est joué!

1voto

Aistina Points 6720

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;
}
 

1voto

xmatzx Points 31

Ma solution pour obtenir la clé la plus élevée est la suivante:

 max(array_keys($values['Users']));
 

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