void usort(array array, function cmp_function);
Cette fonction va trier un tableau avec ses valeurs, en utilisant une fonction définie par líutilisateur. Si un tableau doit être trié avec un critère complexe, il est préférable díutiliser cette méthode.
La fonction de comparaison doit retourner un entier, qui sera inférieur, égal ou supérieur à zéro suivant que le premier argument est considéré comme plus petit, égal ou plus grand que le second argument. Si les deux arguments sont égaux, leur ordre est indéfini.
Exemple 1. exemple usort() function cmp($a,$b) { if ($a == $b) return 0; return ($a > $b) ? -1 : 1; } $a = array(3,2,5,6,1); usort($a, cmp); while(list($key,$value) = each($a)) { echo "$key: $value\n"; } |
Ce exemple va afficher: 0: 6 1: 5 2: 3 3: 2 4: 1
Note:Evidemment dans ce cas trivial, rsort() serait plus approprié.
ATTENTION |
Les bibliothèques de tri rapides sur lesquelles reposent PHP peuvent le conduire à un plantage, si la fonction de comparaison ne retourne pas une valeur cohérente |