(PHP 4, PHP 5, PHP 7, PHP 8)
uksort — Trie un tableau par ses clés en utilisant une fonction de rappel
Trie array
sur place suivant les clés
en utilisant une fonction de comparaison définie par l'utilisateur.
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.
Note:
Réinitialise le pointeur interne du tableau au premier élément.
array
Le tableau d'entrée.
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.
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.
Retourne toujours true
.
Version | Description |
---|---|
8.2.0 |
Le type de retour est maintenant true , auparavant il était bool.
|
8.0.0 |
Si callback attend un paramètre à être passé par
référence, cette fonction émet désormais une E_WARNING .
|
Exemple #1 Exemple avec uksort()
<?php
function cmp($a, $b)
{
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
uksort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>
L'exemple ci-dessus va afficher :
an apple: 3 a banana: 4 the Earth: 2 John: 1