afficher clé de la valeur maximale

gui
Eléphant du PHP | 100 Messages

16 mars 2010, 18:19

Bonjour tout le monde,
Je n'arrive pas à résoudre un problème pourtant simple, je souhaite afficher la ou les clés corespondant au valeur maximale de mon tableau "arr" je fais donc:
echo array_search(max($arr),$arr);
Le problème est qu'il me renvoie la clé de la dernière valeur de mon tableau $arr et non la maximale, je ne comprend pas... :roll:

ViPHP
ViPHP | 2287 Messages

16 mars 2010, 18:41

Bonjour,

A quoi ressemble le tableau ?
if(!@work()){ Nespresso(); } else { what(); }
______________________________

gui
Eléphant du PHP | 100 Messages

17 mars 2010, 09:54

Bonjour, c'est un tableau simple avec en clé un numeros généré au hasard et en valeur un nombre, je souhaite récupérer le ou les numéros généré au hasard (clé) pour la valeur maximale de mon tableau.
Es ce possible?

ViPHP
ViPHP | 5462 Messages

17 mars 2010, 10:56

array_intersect($arr, array(max($arr)));

gui
Eléphant du PHP | 100 Messages

17 mars 2010, 11:49

Cette fonction est très bien pour ce que je veux faire, le problème est qu'elle m'affiche comme la précedente la clé et la dernière valeur de $arr et pas la valeur maximale, c'est donc la fonction "max" qui ne repond pas correctement. :(

ViPHP
ViPHP | 1024 Messages

17 mars 2010, 12:00

Donne-nous les valeurs/ le code de création de ton tableau.
Là on discute dans le vide, on a besoin de données concrêtes pour tester.

A+

Pascal

ViPHP
ViPHP | 5462 Messages

17 mars 2010, 12:06

Cette fonction est très bien pour ce que je veux faire, le problème est qu'elle m'affiche comme la précedente la clé et la dernière valeur de $arr et pas la valeur maximale, c'est donc la fonction "max" qui ne repond pas correctement. :(
non
$arr = array(1, 2, 3, 8, 9, 9, 7, 5, 6, 7, 4, 1);
print_r(array_intersect($arr, array(max($arr))));

Array
(
    [4] => 9
    [5] => 9
)

gui
Eléphant du PHP | 100 Messages

17 mars 2010, 12:22

Merci beaucoup mais j'ai résolu le problème, avec la fonction $arr = array("$file" => "$nb_ligne"); je ne placai pas de nouveau élément dans mon tableau je redéfinissai à chaque tour de boucle mon tableau, en remplaçant cette fonction par $arr[$file] ="$nb_ligne"; le problème s'est résolue.
Merci beaucoup à tous pour vos réponses et vos conseils, en particulier stealth35 pour sa fonction.