Trie un tableau en utilisant une fonction de comparaison définie par l'utilisateur
void usort (array array, function cmp_function)
usort() 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 cmp_function 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 avec usort()
<?php
function cmp($a,$b) {
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
}
$tableau = array(3,2,5,6,1);
usort($a, "cmp");
while(list($cle,$valeur) = each($tableau)) {
echo "$cle: $valeur\n";
}
?>
Cet exemple va afficher :
0: 6
1: 5
2: 3
3: 2
4: 1
Note :
Evidemment dans ce cas trivial, rsort() serait plus
approprié.
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.
Voir aussi
array-multisort(),
arsort(),
asort(),
krsort(),
ksort(),
natsort(),
natcasesort(),
rsort(),
sort(),
uasort() et
uksort().