Función usort
La función usort ordena un arreglo
por el valor de los elementos, utilizando para
ello un callback para determinar el orden
de los elementos en el arreglo ordenado.
La función modifica el propio arreglo.
La función de comparación debe retornar un número entero, que dependiendo del resultado de la comparación: menor, igual o mayor que cero.
Sintaxis
usort(array &$array, callable $callback): bool
Ejemplo
Ordenemos un arreglo en orden ascendente de los elementos:
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Resultado de la ejecución del código:
[1, 2, 3, 4, 5]
Ejemplo
Y ahora ordenemos el arreglo en orden descendente de los elementos:
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a > $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Resultado de la ejecución del código:
[1, 2, 3, 4, 5]
Ejemplo
Y ahora ordenemos el arreglo por cantidad ascendente de caracteres en los elementos del arreglo:
<?php
$arr = [
'123',
'1',
'12345',
'12',
'1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
Resultado de la ejecución del código:
[
'1',
'12',
'123',
'1234',
'12345',
]
Véase también
-
la función
sort,
que ordena en orden ascendente de los elementos -
la función
rsort,
que ordena en orden descendente de los elementos -
la función
ksort,
que ordena en orden ascendente de las claves -
la función
krsort,
que ordena en orden descendente de las claves -
la función
asort,
que ordena en orden ascendente de los elementos preservando las claves -
la función
arsort,
que ordena en orden descendente de los elementos preservando las claves -
la función
natsort,
que ordena de forma natural -
la función
natcasesort,
que ordena de forma natural sin distinguir mayúsculas y minúsculas -
la función
usort,
que ordena mediante un callback -
la función
uksort,
que ordena mediante un callback por las claves -
la función
uasort,
que ordena mediante un callback preservando las claves -
la función
array_multisort,
que ordena múltiples arreglos