(PHP 5 >= 5.1.0)
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.
La fonction de rappel pour les comparaisons.
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 ) )