Documentación offline PHP master

uksort

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

uksort

Ordena un array por sus claves utilizando una función de retrollamada

Descripción#

uksort(array $array, callable $callback): true
```php

Ordena `array` en su lugar según las claves utilizando una función de comparación definida por el usuario.

> [!NOTE]
> Si dos miembros se comparan como iguales, mantienen su orden original. Anterior a PHP 8.0.0, su orden relativo en el array ordenado no está definido.

> [!NOTE]
> Reinicia el puntero interno del array al primer elemento.

## Parámetros

`array`  
El array de entrada.

`callback`  
La función de comparación debe retornar un entero menor que, igual a, o mayor que 0 si el primer argumento es considerado, respectivamente, menor que, igual a, o mayor que el segundo.

```php
callback(mixed $a, mixed $b): int

[!CAUTION] Devolver valores no enteros (como float) desde la función de comparación resultará en una conversión interna del valor de retorno de la retrollamada a int. Así, valores como 0.99 y 0.1 serán convertidos ambos al valor entero 0, por lo que se compararán como iguales.

Valores devueltos#

Retorna siempre true.

Historial de cambios#

Versión Descripción
8.2.0 El tipo de retorno es ahora true, anteriormente era bool.
8.0.0 Si callback espera un parámetro a ser pasado por referencia, esta función emite ahora una E_WARNING.

Ejemplos#

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 ejemplo anterior mostrará:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Véase también#

usort

uasort

Las funciones de

ordenación de arrays