Descripción
void
usort ( array matriz, function func_comparar)
Esta función ordenará una matriz por sus valores utilizando una
función suministrada por el usuario. Si la matriz que desea ordenar
necesita utilizar un criterio poco trivial, esta es la función que
deberá usar.
La función de comparación deberá devolver un entero menor, igual,
o mayor que cero, si el primer argumento se considera respectivamente
menor que, igual que, o mayor que el segundo. Si dos miembros
resultan ser iguales, su orden en la matriz ordenada será cualquiera.
Ejemplo 1. Ejemplo de usort() 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 mostrará:
0: 6
1: 5
2: 3
3: 2
4: 1
Nota:
Obviamente en este caso trivial la función rsort()
habría sido más apropiada.
| Aviso |
La función quicksort subyacente en ciertas librerías de C (tales
como las de Solaris) pueden hacer que el PHP falle si la función de
comparación no devuelve valores consistentes.
|
Vea también: arsort(),
asort(), ksort(),
rsort() y sort().