(PHP 5 >= 5.2.0, PHP 7)
ArrayObject::uasort — Trie les éléments avec une fonction utilisateur
Cette fonction trie les éléments tout en conservant leur correlation avec la clé associée, en utilisant une fonction de comparaison utilisateur.
Cette fonction sert lors du tri de tableaux associatifs, où l'ordre des éléments est important.
cmp_function
La fonction cmp_function
doit accepter
deux paramètres, qui contiendront les éléments.
La fonction de comparaison doit retourner un entier qui peut
être négatif, nul ou positif, suivant que le premier
paramètre est considéré comme inférieur, égal ou supérieur
au second.
Aucune valeur n'est retournée.
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 ) )