usort

usort -- Trie un tableau en utilisant une fonction de comparaison définie par l'utilisateur

Description

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 1 . Exemple avec usort( )

 
?php

 
function

 
cmp(

 
$a,$b

 
)

 
{

 
if

 
($a

 
==

 
$b

 
)

 
return

 
0

 
;

 
return

 
($a

 
lt

 
;

 
$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

Evidemment dans ce cas trivial , rsort( ) serait plus approprié .

Avertissement

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( ) .