La función uasort() es una función incorporada en PHP y se usa para ordenar una array de manera que los índices de la array mantengan su correlación con los elementos de la array con los que están asociados, utilizando una función de comparación definida por el usuario.
Sintaxis:
boolean uasort(array_name, user_defined_function);
Parámetro: Esta función acepta dos parámetros y se describen a continuación:
- array_name : este parámetro representa la array que necesitamos ordenar.
- user_defined_function : esta es una función de comparación y se usa para comparar valores y ordenar la array. Esta función devuelve tres tipos de valores que se describen a continuación:
- Devuelve 0 cuando a=b
- Devuelve 1 cuando a>b y queremos ordenar la array de entrada en orden ascendente; de lo contrario, devolverá -1 si queremos ordenar la array de entrada en orden descendente.
- Devuelve -1 cuando a<b y queremos ordenar la array de entrada en orden ascendente; de lo contrario, devolverá 1 si queremos ordenar la array de entrada en orden descendente.
Valor devuelto: Devuelve un valor booleano, es decir, VERDADERO en caso de éxito y FALSO en caso de error.
Ejemplos:
Input: array ( "a" => 4, "b" => 2, "g" => 8, "d" => 6, "e" => 1, "f" => 9 ) Output: Array ( [e] => 1 [b] => 2 [a] => 4 [d] => 6 [g] => 8 [f] => 9 )
Los siguientes programas ilustran la función uasort() en PHP:
- Clasificación en orden ascendente : para ordenar la array de entrada en orden ascendente, en la función de comparación devolveremos 1 cuando a>b o -1 cuando a<b. El siguiente programa ilustra esto:
<?php
// PHP program to sort in ascending
// order using uasort() function
// user_defined comparator function
function
sorting(
$a
,
$b
)
{
if
(
$a
==
$b
)
return
0;
return
(
$a
<
$b
)?-1:1;
}
// input array
$arr
=
array
(
"a"
=>4,
"b"
=>2,
"g"
=>8,
"d"
=>6,
"e"
=>1,
"f"
=>9);
uasort(
$arr
,
"sorting"
);
// printing sorted array.
print_r(
$arr
);
?>
Producción:
Array ( [e] => 1 [b] => 2 [a] => 4 [d] => 6 [g] => 8 [f] => 9 )
- Clasificación en orden descendente : para ordenar la array de entrada en orden descendente, en la función de comparación devolveremos -1 cuando a>b o 1 cuando a<b. El siguiente programa ilustra esto:
<?php
// PHP program to sort in descending
// order using uasort() function
// user_defined comparator function
function
sorting(
$a
,
$b
)
{
if
(
$a
==
$b
)
return
0;
return
(
$a
>
$b
) ? -1 : 1;
}
// input array
$input
=
array
(
"d"
=>
"R"
,
"a"
=>
"G"
,
"b"
=>
"X"
,
"f"
=>
"Z"
);
uasort(
$input
,
"sorting"
);
// printing sorted array.
print_r(
$input
);
?>
Producción:
Array ( [f] => Z [b] => X [d] => R [a] => G )
Referencia:
http://php.net/manual/en/function.uasort.php
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA