PHP Conference Nagoya 2025

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): true

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
Attention

Retourner des valeurs non-entières à partir de la fonction de comparaison, telles que float, entraînera une conversion interne de la valeur de retour du rappel en int. Ainsi, des valeurs telles que 0.99 et 0.1 seront toutes deux converties en une valeur entière de 0, ce qui comparera de telles valeurs comme égales.

Valeurs de retour

Retourne toujours true.

Historique

Version Description
8.2.0 Le type de retour est maintenant true, auparavant il était bool.

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top