ArrayObject::uksort

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

ArrayObject::uksort — Trie 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