TRI DE TABLEAUX MULTI-DIMENSIONNELS

dpitard Messages postés 11 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 3 mai 2003 - 3 mai 2003 à 16:20
cs_eikichi Messages postés 9 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 9 mai 2011 - 3 mai 2011 à 16:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13233-tri-de-tableaux-multi-dimensionnels

cs_eikichi Messages postés 9 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 9 mai 2011
3 mai 2011 à 16:24
Bonjour a tous,

Que dois-je modifier pour obtenir un tri décroissant?

D'avance merci.
naholyr Messages postés 28 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 11 septembre 2006
17 août 2008 à 23:01
Ben une fonction qui retourne une valeur, si tu n'affectes pas cette valeur à quelque chose c'est normal que tu perdes l'information...

$tableau_trie = tri($tableau);
print_r($tableau_trie);
turcotda Messages postés 1 Date d'inscription dimanche 17 août 2008 Statut Membre Dernière intervention 17 août 2008
17 août 2008 à 21:10
Salut.
Je trouve ce script intéressant pour une de mes applications, surtout que je ne suis pas tellement expérimenté avec les tableaux. J'ai donc incorporé ce script à mes programmes. Toutefois, si je fais la modif suivante à l'exemple de la conclusion:

initial...
print_r(tri($array, 'nom'));

remplacé par...
tri($array, 'nom');
print_r($array);

Le programme imprime le tableau dans l'ordre initial.

Pourquoi la commande return $array; ne retourne pas le tableau trié dans mon exemple ??? Quelle autre modif dois-je apporter ?
Merci èa l'avance pour vos commentaires.
dpitard Messages postés 11 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 3 mai 2003
3 mai 2003 à 16:20
pr eviter que les clés en majuscule apparaissent avant les autres, il faut modifier cmp:
function cmp($ar1, $ar2, $key)
{
return ( (strtoupper($ar1[$key]) > strtoupper($ar2[$key])) ? 1 : ( (strtoupper($ar1[$key]) == strtoupper($ar2[$key])) ? 0 : -1));
}
Rejoignez-nous