ArrayObject::uksort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::uksortTrie les éléments par clé avec une fonction utilisateur

Description

public ArrayObject::uksort(callable $callback): bool

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.

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

Valeurs de retour

Retourne toujours true.

Exemples

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

Voir aussi