tri de tableau numérique

HD
Mammouth du PHP | 1181 Messages

24 janv. 2007, 16:04

salut
je veux trier un tableau numérique, et pour cela je fais
asort($tableau);
le problmème c'est que asort a une logique alphabétique (classer de a à Z par exemple) mais bug dès qu'il s'agit de trier des valeur genre 0,2 ou 1,3
quelle fonction est donc la plus adaptée ? merci d'avance
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Mammouth du PHP | 693 Messages

24 janv. 2007, 16:11

Peut être en utilisant usort() et en créant une fonction personnelle comparant les valeurs, de ce type
function Trieur ($a,$b)
{return($a - $b);}

ViPHP
ViPHP | 1961 Messages

24 janv. 2007, 16:12

Bonjour,

Si tu regardes la doc PHP asort() peu prendre un second paramètre.
Ce paramètre te sera fort utile.
Modifié en dernier par Ajoloca le 24 janv. 2007, 16:15, modifié 1 fois.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

ViPHP
ViPHP | 3607 Messages

24 janv. 2007, 16:13

je ne sais pas s'il existe une fonction existante qui marcherai dans ton cas, mais en tout cas avec usort(), tu devrais pouvoir faire cela facilement ;-)
edit: bien grillé la dis donc...!
Modifié en dernier par jojolapine le 24 janv. 2007, 16:14, modifié 1 fois.

Mammouth du PHP | 693 Messages

24 janv. 2007, 16:13

Bonjour,

Si tu regardes la doc PHP asort() peut prendre un second paramètre.
Ce paramètre te sera fort utile.
Oui, c'est vrai que c'est plus simple...

HD
Mammouth du PHP | 1181 Messages

24 janv. 2007, 16:47

j ai essayé
asort($tableau,SORT_NUMERIC)
et c'est pire qu'avant puisqu'il ne classe que ce qu il y a avant la virgule, le reste (apres la , ) est aléatoire :shock:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

ViPHP
ViPHP | 3607 Messages

24 janv. 2007, 16:48

et as-tu essayé la solution d'orgerix et moi ?

ViPHP
ViPHP | 1961 Messages

24 janv. 2007, 17:12

Re,

Surement que tu as oublié que le signe décimal c'est le . (point) et non la , (virgule)
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

HD
Mammouth du PHP | 1181 Messages

25 janv. 2007, 14:05

ca doit etre surement ça ! merci a tous
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]