Bonjour, je peux faire un for next ... mais au cas ou, existe t' il une fonction qui dans une table me donnerais le rand de la valeur contenue la plus grande ??
Merci d'avance.
Version imprimable
Bonjour, je peux faire un for next ... mais au cas ou, existe t' il une fonction qui dans une table me donnerais le rand de la valeur contenue la plus grande ??
Merci d'avance.
Si ton tableau peut contenir plusieurs fois la même valeur et que tu veux toutes les clés, utilise array_keys à la place de array_search.Code:$keyMax = array_search(max($array), $array);
Histoire de faire un peu d'algo et de compléter une lib personnelle :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 $tab = array(15555, 25, 1, 45, 44, 65, 3, 88, 45, 154, 5555, 878, 14, 9879, 8545, 14545); $max = get_max_number($tab); echo $max; function get_max_number($tab) { $size = sizeof($tab); $max = $tab[0]; for ($i = 0; $i < $size - 1; $i++) if ($tab[$i] < $tab[$i + 1] && $tab[$i + 1] > $max) $max = $tab[$i + 1]; return $max; }
Une note pour indiquer que j'avais inversé les paramètres de l'appel. C'est bien $keyMax = array_search(max($array), $array);. (Merci à rawsrc pour la correction ;))
@Lokicoule : vouais, ça marche aussi. Mais max fait ça très bien tout seul, alors personnellement je le laisse se dépatouiller :mrgreen:
S'il fallait vraiment la refaire, il y a quand même plus simple :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 function get_max_number($tab = array()) { if (!is_array($tab) OR empty($tab) ) { return null; } $max = current($tab); foreach ($tab as $value) { if ($value > $max) { $max = $value; } } return $max; }