(PHP 5 >= 5.2.0, PHP 7, PHP 8)
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.
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.
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.
Retourne toujours true
.
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