uksort
PHP Manual
PHP Manual»Funções para Array»uksort

uksort

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

uksortOrdena um array pelas chaves utilizando uma função de comparação definida pelo usuário.

Descrição

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

Ordena o array pelas chaves usando uma função de comparação fornecida pelo usuário para determinar a ordem.

Nota: Se dois elementos são comparados como iguais, eles mantêm sua ordem original. Antes do PHP 8.0.0, sua ordem relativa no array ordenado era indefinida.

Nota: Redefine o ponteiro interno do array para o primeiro elemento.

Parâmetros

array

O array de entrada.

callback
A função de comparação deve retornar um inteiro menor que, igual ou maior que zero se o primeiro argumento for considerado respectivamente menor que, igual ou maior que o segundo.
function callback(mixed $a, mixed $b): int
Cuidado

Retornar valores não inteiros da função de comparação, como float, resultará em uma conversão interna do valor retornado da função callback para int. Portanto, valores como 0.99 e 0.1 serão convertidos para o valor inteiro 0, o que comparará esses valores como iguais.

Valor Retornado

Sempre retorna true.

Registro de Alterações

Versão Descrição
8.2.0 O tipo do retorno agora é true; anteriormente, era bool.
8.0.0 Se a função callback espera que um parâmetro seja passado por referência, esta função agora emitirá um E_WARNING.

Exemplos

Exemplo #1 Exemplo de 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";
}
?>

O exemplo acima produzirá:

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

Veja Também

To Top