(PHP 4, PHP 5, PHP 7, PHP 8)
uksort — Ordena un array por sus claves utilizando una función de retrollamada
Ordena array
en su lugar según las claves
utilizando una función de comparación definida por el usuario.
Nota:
Si dos miembros se comparan como iguales, ellos mantendrán su orden original. Antes de PHP 8.0.0, su orden relativo en un array ordenado era indefinido.
Nota:
Reinicia el puntero interno del array al primer elemento.
array
El array de entrada.
callback
La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo. Observe que antes de PHP 7.0.0 este entero debía estar en el rango de -2147483648 a 2147483647.
Siempre devuelve true
.
Versión | Descripción |
---|---|
8.2.0 |
The return type is true now; previously, it was bool.
|
8.0.0 |
Si callback espera que se pase un parámetro
por referencia, esta función ahora emitirá un E_WARNING .
|
Ejemplo #1 Ejemplo con 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";
}
?>
El resultado del ejemplo sería:
an apple: 3 a banana: 4 the Earth: 2 John: 1