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