Les fonctions de tri sont puissantes et adaptées à différentes sortes de tri, ascendant ou descendant, sur les clés ou sur les valeurs, par ordre naturel.

PHP permet de trier un tableau de trois façons :

L'ordre de tri peut être ascendant, descendant, ou déterminé par une fonction définie par le développeur.

 

Ascendant

Descendant

Fonction

Trier par valeur avec changement d'indice

sort()

rsort()

usort()

Trier par valeur

asort()

arsort()

uasort()

Trier par clé

ksort()

krsort()

uksort()

Les fonctions de tri qui changent la valeur des clés (sort() , rsort() et usort() ) sont généralement utilisées avec des tableaux à indices numériques. Leur utilisation avec un tableau associatif est possible, mais comme les associations entre clés et valeurs sont perdues, on va à l'encontre même de l'utilité de ce type de tableau.

Les fonctions de tri agissent directement sur le tableau qui leur est passé en paramètre (le tableau est tranmis par référence), en modifiant l'ordre de ses éléments. Le tableau intial n'est ni sauvegardé ni récupérable.

Les tris d'éléments alphanumériques se font suivant l'ordre ASCII : 'Noir' se trouve avant 'blanc' car la le code ASCII de la lettre 'N' (78) est inférieur au code ASCII de la lettre 'b' (98). Dans le même ordre d'idée on trouvera la chaîne 'numéro 10' avant la chaîne 'numéro 2'.

Exemple : tri de tableaux à indices numériques
Exemple : tri de tableaux associatifs par valeur
Exemple : tri de tableaux associatifs par clé