Spipu Le 22/06/2008 à 12:15 meme remarque : rien de tel que de passer par une fonction de tri en callback pour faire ce qu'on veut :
si t'es dans un objet :
uasort($lst, array(&$this, 'ma_methode_de_tri'));
avec
function ma_methode_de_tri($a, $b)
{
if ($a['a]['b']<$b['a]['b']) return -1;
if ($a['a]['b']>$b['a]['b']) return 1;
return 0;
}
(de mémoire, vérifie sur php.net)
Jonas Le 23/06/2008 à 12:03 Je l'ai lu et surtout les commentaires des utilisateurs, mon problème c'est que je n'arrive pas à passer en paramètre la deuxième case de mon tableau vu que celle ci n'a pas une valeur fixe.
En gros mon tableau il ressemble à ça une fois affiché
voiture -> (ford mustang -> 4 roues)
velo -> (hoffman bike -> 2 roues)
etc...
moi je voudrait trier "par ordre de roues" et c'est là que ça coince :/

"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
Benj Edwards - Why History Needs Software Piracy
- - -
Achat ou échange: topic de mes recherches
Meilleur smiley = #helico#
Obligatory XKCD Zeph Le 23/06/2008 à 12:20 Je n'arrive pas comprendre ni la première phrase ton post ("passer en paramètre la deuxième case" ?, "valeur fixe" ?) ni la structure de ton tableau.
La fonction uasort utilise une fonction que tu as définie toi-même pour effectuer le tri : uasort va appeler cette fonction en lui passant chaque fois deux éléments de ton tableau, et c'est le résultat de cette fonction (-1 ou 1) qui détermine si les éléments sont dans le bon ordre ou mal triés. À partir de là c'est à toi d'écrire cette fonction pour lui faire retourner un résultat qui dépend de la 2eme case de ton tableau.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Zeph Le 23/06/2008 à 13:32 Bah oui c'est bien ce que je dis, retourner 0 n'apporte rien de plus, une fonction qui retourne seulement -1 ou 1 peut avoir exactement le même résultat ^^ (cf quasiment tous les exemples de la fonction uasort sur la page dont tu as posté le lien, si tu veux une illustration)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Jonas Le 23/06/2008 à 14:05 Ha ok! Mon neuronne viens de s'allummer! Ptain j'étais en mode boulet, la fonction uasort prend un tableau et le parcoure un extrayant 2 cases cote a cote et en les envoyant à la fonction de tri, jusqua ce que le tableau soit trié, c'est bien ça?

"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
Benj Edwards - Why History Needs Software Piracy
- - -
Achat ou échange: topic de mes recherches
Meilleur smiley = #helico#
Obligatory XKCD Zeph Le 23/06/2008 à 14:16 en gros oui, c'est comme ça que ça fonctionne (modulo le fonctionnement exact de l'algo de tri utilisé par PHP, je ne sais pas sur lequel il se base)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Spipu Le 23/06/2008 à 14:57 arh, array_shift, j'essayais de m'en reppaler tout à' l'heure mais j'arrivais pas, d'ou mon truc hyper compliqué pour rien