ArrayObject::uasort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::uasortOrdena las entradas con una función de comparación definida por el usuario y mantiene asociación de claves

Descripción

public ArrayObject::uasort ( callable $cmp_function ) : void

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.

Parámetros

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.

Valores devueltos

No devuelve ningún valor.

Ejemplos

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;
}

// 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
)

Ver también