Note that return values between (-1, 1) are being considered as 0.
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uasort — Ordena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves
Esta función ordena las entradas de forma que las claves mantengan su correlación con la entrada que está asociada con, una función de comparación definida por el usuario.
Esto se utiliza principalmente para ordenar arrays asociativos donde el orden de los elementos es importante.
cmp_function
La función cmp_function
acepta 2 parámetros
que serán llenados por pares de entradas.
La función de comparación debe devolver un integer menor que, igual a,
o mayor que cero si el primer argumento es menor que, igual a, o
mayor que el segundo.
No devuelve ningún valor.
Ejemplo #1 Ejemplo de ArrayObject::uasort()
<?php
// Función de comparación
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Array a ser ordenado
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);
// Ordena e imprime el resultado del array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>
El resultado del ejemplo sería:
Array ( [a] => 4 [b] => 8 [c] => -1 [d] => -9 [e] => 2 [f] => 5 [g] => 3 [h] => -4 ) Array ( [d] => -9 [h] => -4 [c] => -1 [e] => 2 [g] => 3 [a] => 4 [f] => 5 [b] => 8 )
Note that return values between (-1, 1) are being considered as 0.