(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uasort — Trie les éléments avec une fonction utilisateur
Description
public
ArrayObject::uasort(callable
$callback
): true
Cette fonction sert lors du tri de tableaux associatifs, où
l'ordre des éléments est important.
Note:
Si deux membres se comparent comme égaux, ils maintiennent leur ordre original.
Antérieur à PHP 8.0.0, leur ordre relatif dans le tableau trié n'est pas défini.
Liste de paramètres
-
callback
-
La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur
à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second.
callback(mixed $a
, mixed $b
): int
Attention
Retourner des valeurs non-entières à partir de la fonction
de comparaison, telles que float, entraînera une conversion interne
de la valeur de retour du rappel en int. Ainsi, des valeurs telles que
0.99
et 0.1
seront toutes deux converties en une
valeur entière de 0
, ce qui comparera de telles valeurs comme égales.
Valeurs de retour
Retourne toujours true
.
Historique
Exemples
Exemple #1 Exemple avec arrayobject::uasort()
<?php
// Fonction de comparaison
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Les tableaux à trier
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);
// Trie et affiche le tableau
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>
L'exemple ci-dessus va afficher :
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
[a] => 4
[b] => 8
[c] => -1
[d] => -9
[e] => 2
[f] => 5
[g] => 3
[h] => -4
)
)
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
[d] => -9
[h] => -4
[c] => -1
[e] => 2
[g] => 3
[a] => 4
[f] => 5
[b] => 8
)
)
Voir aussi
- arrayobject::asort() - Trie les éléments par valeur
- arrayobject::ksort() - Trie un tableau par clé
- arrayobject::natsort() - Trie les éléments avec un tri naturel
- arrayobject::natcasesort() - Trie un tableau en utilisant le tri naturel sans la casse
- arrayobject::uksort() - Trie les éléments par clé avec une fonction utilisateur
- uasort() - Trie un tableau en utilisant une fonction de rappel