Fonction usort
La fonction usort trie un tableau
par valeur des éléments, en utilisant pour
cela un callback pour déterminer l'ordre
des éléments dans le tableau trié.
La fonction modifie le tableau lui-même.
La fonction de comparaison doit retourner un entier, qui en fonction du résultat de la comparaison : est inférieur, égal ou supérieur à zéro.
Syntaxe
usort(array &$array, callable $callback): bool
Exemple
Trions un tableau par ordre croissant des éléments :
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Résultat de l'exécution du code :
[1, 2, 3, 4, 5]
Exemple
Maintenant, trions le tableau par ordre décroissant des éléments :
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a > $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Résultat de l'exécution du code :
[1, 2, 3, 4, 5]
Exemple
Maintenant, trions un tableau par ordre croissant du nombre de caractères dans les éléments du tableau :
<?php
$arr = [
'123',
'1',
'12345',
'12',
'1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Résultat de l'exécution du code :
[
'1',
'12',
'123',
'1234',
'12345',
]
Voir aussi
-
la fonction
sort,
qui trie par ordre croissant des éléments -
la fonction
rsort,
qui trie par ordre décroissant des éléments -
la fonction
ksort,
qui trie par ordre croissant des clés -
la fonction
krsort,
qui trie par ordre décroissant des clés -
la fonction
asort,
qui trie par ordre croissant des éléments en préservant les clés -
la fonction
arsort,
qui trie par ordre décroissant des éléments en préservant les clés -
la fonction
natsort,
qui trie de manière naturelle -
la fonction
natcasesort,
qui trie de manière naturelle insensible à la casse -
la fonction
usort,
qui trie par callback -
la fonction
uksort,
qui trie par callback sur les clés -
la fonction
uasort,
qui trie par callback en préservant les clés -
la fonction
array_multisort,
qui trie plusieurs tableaux