Inicio PHP JavaScript Manual PHP Links de interes Contacto
Scripts en PHP Programación PHP, lenguaje del lado del servidor.
Scripts PHP - Funciones Funciones  Scripts PHP - Ip´s Ip´s  Scripts PHP - Otros Otros  
Scripts en JavaScript Programación JavaScript, lenguaje del lado del cliente.
Scripts JS - Barra de estado Barra de estado  Scripts JS - Calculadoras Calculadoras  Scripts JS - Efectos Efectos  Scripts JS - Relojes/Calendarios Relojes/Calendarios  
  Manual PHP     Manual PHP  
function.usort -- http://www.mundoscript.com/php/function.usort.html usort

usort

(PHP 3>= 3.0.3, PHP 4 , PHP 5)

usort --  Ordena una matriz por sus valores usando una función de comparación definida por el usuario

Descripción

bool usort ( array matriz, callback funcion_comp)

Esta función ordenará una matriz por sus valores usando una función de comparación definida por el usuario. Si la matriz que desea ordenar necesita ser ordenada mediante ciertos criterios especiales, es buena idea usar esta función.

La función de comparación debe devolver un entero menor que, igual, o mayor que cero si el primer argumento es considerado menor, igual, o mayor que el segundo, respectivamente.

Nota: Si dos miembros son comparados como iguales, su orden en la matriz resultante es indefinido. Hasta PHP 4.0.6, las funciones definidas por el usuario mantenían el orden original para esos elementos, pero con el nuevo algoritmo de ordenamiento introducido en 4.1.0 este ya no es el caso, ya que no hay forma de hacerlo de manera eficiente.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Ejemplo 1. Ejemplo de usort()

<?php
function cmp($a, $b)
{
    if (
$a == $b) {
        return
0;
    }
    return (
$a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

while (list(
$clave, $valor) = each($a)) {
    echo
"$clave: $valor\n";
}
?>

Este ejemplo produciría la salida:

0: 1
1: 2
2: 3
3: 5
4: 6

Nota: Obviamente en este ejemplo trivial, la función sort() sería más apropiada.

Ejemplo 2. Ejemplo de usort() usando una matriz multi-dimensional

<?php
function cmp($a, $b)
{
    return
strcmp($a["fruta"], $b["fruta"]);
}

$frutas[0]["fruta"] = "limones";
$frutas[1]["fruta"] = "bananos";
$frutas[2]["fruta"] = "granadillas";

usort($frutas, "cmp");

while (list(
$clave, $valor) = each($frutas)) {
    echo
"\$frutas[$clave]: " . $valor["fruta"] . "\n";
}
?>

Cuando se ordena una matriz multi-dimensional, $a y $b contienen referencias al primer índice de la matriz.

Este ejemplo produciría la salida:

$frutas[0]: bananos
$frutas[1]: granadillas
$frutas[2]: limones

Ejemplo 3. Ejemplo de usort() usando una función miembro de un objeto

<?php
class ObjPrueba {
    var
$nombre;

    function
ObjPrueba($nombre)
    {
        
$this->nombre = $nombre;
    }

    
/* Esta es la funcion estatica de comparacion: */
    
function cmp_obj($a, $b)
    {
        
$al = strtolower($a->nombre);
        
$bl = strtolower($b->nombre);
        if (
$al == $bl) {
            return
0;
        }
        return (
$al > $bl) ? +1 : -1;
    }
}

$a[] = new ObjPrueba("c");
$a[] = new ObjPrueba("b");
$a[] = new ObjPrueba("d");

usort($a, array("ObjPrueba", "cmp_obj"));

foreach (
$a as $item) {
    echo
$item->nombre . "\n";
}
?>

Este ejemplo produciría la salida:

b
c
d

Vea también uasort(), uksort(), sort(), asort(), arsort(),ksort(), natsort(), and rsort().

Web´s ORO

Comparativas

peliculas - musica - trucos
telefonos moviles
directorio de programacion
Web´s PLATA

logiciel gratuit
programas para bajar
ocio y entretenimiento
eliminar virus