Page 1 sur 1

afficher clé de la valeur maximale

Posté : 16 mars 2010, 18:19
par gui
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:

Re: afficher clé de la valeur maximale

Posté : 16 mars 2010, 18:41
par Calimero
Bonjour,

A quoi ressemble le tableau ?

Re: afficher clé de la valeur maximale

Posté : 17 mars 2010, 09:54
par gui
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?

Re: afficher clé de la valeur maximale

Posté : 17 mars 2010, 10:56
par stealth35
array_intersect($arr, array(max($arr)));

Re: afficher clé de la valeur maximale

Posté : 17 mars 2010, 11:49
par gui
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. :(

Re: afficher clé de la valeur maximale

Posté : 17 mars 2010, 12:00
par pascaltje
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

Re: afficher clé de la valeur maximale

Posté : 17 mars 2010, 12:06
par stealth35
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
)

Re: afficher clé de la valeur maximale

Posté : 17 mars 2010, 12:22
par gui
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.