Tableaux:Tri sur les tableaux

Un article de WikiTuto.

Jump to: navigation, search

Sommaire

Explication

Les fonctions sur les tableaux sont très complètes. Elles comportent même des fonctions prêtes à l'emploi pour trier le contenu d'un tableau selon ses valeurs ascendentes ou descendantes, et, pour les tableaux associatifs, des fonctions de tris dans les deux sens sur les valeurs ou sur la clé.

Exemple

L'exemple suivant va monter l'utilisation de sort() sur un tableau simple, ainsi que les effets pervers de next()

<?php
$tab = array("P","H","P","L","I","N","U","X");

asort($tab);
echo "
Parcours avec next() : " ; for(reset($tab); $key = key($tab); next($tab)) { echo "tab[$key]=".$tab[$key]."\n"; } echo "
Parcours avec each() : " ; reset($tab); while(list($key,$value) = each($tab)) { echo "tab[$key]=".$tab[$key]."\n"; } ?>
  • Parcours avec next() :
tab[1]=H tab[4]=I tab[3]=L tab[5]=N tab[2]=P 
  • Parcours avec each() :
tab[1]=H tab[4]=I tab[3]=L tab[5]=N tab[2]=P tab[0]=P tab[6]=U tab[7]=X

En utilisant next(), le premier élément du tableau $tab[0]="P" ne s'affiche pas car next() retourne false.

Au passage, on remarque qu'un tableau ordinaire tel que $tab est en fait équivalent à un tableau associatif dont la clé n'est autre que l'indice de l'élément.

La fonction sort() ordonne le tableau suivant l'ordre croissant de ses valeurs. Inversement, la fonction rsort() effectue le tri par ordre décroissant (reverse).

Pour les tableaux associatifs, les fonctions asort() et ksort() permettent d'effectuer des tris sur la valeur ou sur la clé du tableau. La fonction inverse de asort() est arsort().

Voir aussi

Source

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire