Função uasort
A função uasort ordena um array
em ordem crescente de elementos, preservando
as chaves do array associativo.
A função uasort ordena um array
por valor dos elementos, usando para
isso um callback para determinar a ordem
dos elementos no array ordenado.
A função modifica o próprio array.
A função de comparação deve retornar um número inteiro, que dependendo do resultado da comparação: menor, igual ou maior que zero.
A função modifica o próprio array.
Sintaxe
uasort(array &$array, int $flags = SORT_REGULAR): bool
Exemplo
Vamos ordenar o array em ordem crescente de elementos:
<?php
$arr = [
'b' => 1,
'e' => 3,
'c' => 2,
'a' => 5,
'd' => 4,
];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Resultado da execução do código:
[
'b' => 1,
'c' => 2,
'e' => 3,
'd' => 4,
'a' => 5,
]
Exemplo
Agora vamos ordenar o array em ordem crescente do número de caracteres nos elementos do array:
<?php
$arr = [
'a' => '123',
'b' => '1',
'c' => '12345',
'd' => '12',
'e' => '1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Resultado da execução do código:
[
'b' => '1',
'd' => '12',
'a' => '123',
'e' => '1234',
'c' => '12345',
]
Veja também
-
a função
sort,
que ordena em ordem crescente de elementos -
a função
rsort,
que ordena em ordem decrescente de elementos -
a função
ksort,
que ordena em ordem crescente de chaves -
a função
krsort,
que ordena em ordem decrescente de chaves -
a função
asort,
que ordena em ordem crescente de elementos preservando chaves -
a função
arsort,
que ordena em ordem decrescente de elementos preservando chaves -
a função
natsort,
que ordena de forma natural -
a função
natcasesort,
que ordena de forma natural sem diferenciar maiúsculas e minúsculas -
a função
usort,
que ordena por callback -
a função
uksort,
que ordena por callback por chaves -
a função
uasort,
que ordena por callback preservando chaves -
a função
array_multisort,
que ordena múltiplos arrays