Array déterminer maxvalue et minvalue [Résolu]

Signaler
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008
-
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008
-
bonjour,
je suis encore débutant dans les arrays en php
et je cherche un script qui me désigne la valeur maximal et la valeur minimal d un array par exemple
array(100,150,12,142,97)
et sa me dit qqch comme ceci
minvalue= 12
et
maxvalue=150

10 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

bah, tu le tries, déjà. Ensuite, il te suffit d'extraire la 1ère et la dernière entrée du tableau.
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

c bon apres etude d un script que g trouver et qq recherche dans les manuels php issus du net
g compris comment on doit faire

$values = array(100,150,12,142,97);

asort($values,SORT_NUMERIC);//trie croissant du tableau
$minvalue = $values[0];

rsort($values,SORT_NUMERIC);//trie decroissant du tableau
$maxvalue = $values[0];
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

merci malalam c'est ce ke g fait un pe plus et tu m'aurai répondu juste avant ke je trouve lol
je sais ke sa a l air simple mais lorsque lon ne connait pas tout l'étendue des capacités de PHP on se trotte pas mal la tête
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Par curiosité, fais voir ce bout de code?
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

$values=array('janvier'=>120,'fevrier'=>200);   

$captions=array_keys($values);//prendre les noms associés aux valeurs du tableau
$values=array_values($values);//prendre les valeurs du tableau
//determinons les valurs minimales et maximales d un array
$value_temp = $values;
asort($value_temp, SORT_NUMERIC);//trie de l array en mode croissant
$minvalue = $value_temp[0];
rsort($value_temp, SORT_NUMERIC);//trie de l array en mode décroissant
$maxvalue = $value_temp[0];
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

mais juste pour info le value ici est un test parce apres ce  sera géré donc dynamique avec une base de donnée
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
$values=array('janvier'=>120,'fevrier'=>200);  
$value_temp = $values;
asort($value_temp, SORT_NUMERIC);
$minvalue = reset ($value_temp);
$maxvalue = end ($value_temp);

faut voir si c'est pas plus rapide que de trier 2 fois ton tableau.
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

ok si je comprend bien le reset prendrait la premiere valeur de  l array et le end prendrai la derniere autrement le mini et le maxi etant donné ke c trié par ordre croissant
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
en gros, oui.
reset () met le pointeur interne du tableau au début de celu-ci, et renvoie la 1ère valeur.
end () place ce pointeur en fin de tableau, et renvoie la valeur trouvée.
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

ok merci sa marche bien en plus c sympa de m avoir aidé ++