56 votes

PHP obtient la valeur la plus élevée du tableau

J'essaie d'obtenir la plus grande valeur d'un tableau, tout en préservant les étiquettes des éléments. Je sais que je peux le faire en exécutant sort(), mais si je le fais, je perds simplement les étiquettes - ce qui le rend inutile pour ce dont j'ai besoin. Voici le tableau :

 array("a"=>1,"b"=>2,"c"=>4,"d"=>5);

Des idées?

161voto

Karoly Horvath Points 45145

Ne triez pas le tableau pour obtenir la plus grande valeur.

Obtenez la valeur maximale :

 $value = max($array);

Obtenez la clé correspondante :

 $key = array_search($value, $array);

22voto

borrible Points 7069

Si vous voulez juste la plus grande valeur du tableau, utilisez la fonction max. Cela renverra la plus grande valeur, mais pas la clé correspondante. Cela ne change pas le tableau d'origine.

Si vous vous souciez de la clé, vous pouvez le faire

 $key = array_search(max($array), $array)

(Modifié pour inclure la suggestion de @binaryLV)

5voto

Rakesh Points 49
$a = array(10, 20, 52, 105, 56, 89, 96);
$b = 0;
foreach ($a as $key=>$val) {
    if ($val > $b) {
        $b = $val;
    }
}
echo $b;

4voto

Jacob Points 17521

Vous cherchez asort()

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