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

# uksort

(PHP 4, PHP 5, PHP 7, PHP 8)

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

### Descripción

function uksort(array `&$array`, callable `$callback`): true

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, mantienen su orden original. Anterior a PHP 8.0.0, su orden relativo en el array ordenado no está definido.

> Nota:

> 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.
  function callback(mixed `$a`, mixed `$b`): int
  Precaución

  Retornar valores no-entero desde la función de comparación, tales como float, resultará en una conversión interna del valor de retorno del callback a int. Así, valores tales como `0.99` y `0.1` serán convertidos ambos a un valor entero de `0`, lo que comparará tales valores 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 #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 ejemplo anterior mostrará:

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

### Ver también

- usort() - Ordena un array utilizando una función de comparación
- uasort() - Ordena un array utilizando una función de retrollamada
- Las funciones de ordenación de arrays

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open