(PHP 5 >= 5.1.0)
ArrayObject::uksort — Trie les éléments par clé avec une fonction utilisateur
Cette fonction trie les clés des éléments en utilisant une fonction utilisateur de comparaison. La correlation entre les clés et les éléments est conservée.
La fonction de rappel pour les comparaisons.
La fonction cmp_function doit accepter deux paramètres, qui contiendront les clés des é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::uksort()
<?php
function cmp($a, $b) {
$a = preg_replace('@^(le|la|les|un|une|des) @', '', $a);
$b = preg_replace('@^(le|la|les|un|une|des) @', '', $b);
return strcasecmp($a, $b);
}
$array = array("Jean" => 1, "la Terre" => 2, "une pomme" => 3, "une banane" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');
foreach ($arrayObject as $key => $value) {
echo "$key: $value\n";
}
?>
L'exemple ci-dessus va afficher :
une banane: 4 Jean: 1 une pomme: 3 la Terre: 2