Page 1 sur 1

tri de tableau numérique

Posté : 24 janv. 2007, 16:04
par HD
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

Posté : 24 janv. 2007, 16:11
par orgerix
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);}

Posté : 24 janv. 2007, 16:12
par Ajoloca
Bonjour,

Si tu regardes la doc PHP asort() peu prendre un second paramètre.
Ce paramètre te sera fort utile.

Posté : 24 janv. 2007, 16:13
par jojolapine
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...!

Posté : 24 janv. 2007, 16:13
par orgerix
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...

Posté : 24 janv. 2007, 16:47
par HD
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:

Posté : 24 janv. 2007, 16:48
par jojolapine
et as-tu essayé la solution d'orgerix et moi ?

Posté : 24 janv. 2007, 17:12
par Ajoloca
Re,

Surement que tu as oublié que le signe décimal c'est le . (point) et non la , (virgule)

Posté : 25 janv. 2007, 14:05
par HD
ca doit etre surement ça ! merci a tous