Completo post para ordenar arrays con PHP sort(), asort() y ksort(). En ocasiones puede que tengamos un array ordenado pero que en el transcurso del script se añadan o eliminen elementos y necesitemos una reordenación.
Otras funciones conocidas para trabajar con arrays son:
Pero ahora vamos a ver las sintaxis de las funciones para ordenar arrays con PHP.
Vamos a repasar la sintaxis de esta primera función extraída de su web oficial:
sort(array, ordenarpor);
sort() ordena el array de manera ascendente, cogiendo los elementos de menor a mayor. Los parámetros son estos:
Existe la función opuesta rsort() con la misma sintaxis que ordena el array de manera descendente, de mayor a menor.
Vamos a repasar la sintaxis de esta segunda función extraída de su web oficial:
asort(array, ordenarpor);
asort() ordena el array en orden ascendente, es decir, de menor a mayor ordenándolo por su valor. Vamos a ver los parámetros:
También existe la función opuesta, se llama arsort() y tiene la misma sintaxis, esta función ordena los arrays de forma descendente, de mayor a menor por el valor de los elementos.
Vamos a repasar la sintaxis de esta tercera función extraída de su web oficial:
ksort(array, ordenarpor);
ksort() ordena el array asociativo en orden ascendente, es decir, de menor a mayor ordenándolo por su clave. En la reordenación no se pierde la relación clave–>valor. Vamos a ver los parámetros:
También existe la función opuesta, se llama krsort() y tiene la misma sintaxis, esta función ordena los arrays de forma descendente, de mayor a menor por las claves del array.
Vamos con el primer ejemplo en el que vamos a ordenar un array:
$arraynumerico = array(1, 3, 2, 5, 4, 7, 6); //orden ascendente sort($arraynumerico); var_export($arraynumerico); //orden descendente rsort($arraynumerico); var_export($arraynumerico);
Os explico el ejemplo:
Vamos con el segundo ejemplo en el que vamos a ordenar un array por sus valores:
$arrayasociativo = array("Juan"=>"29","Pedro"=>"18","Eduardo"=>"26"); //orden ascendente asort($arrayasociativo); var_export($arrayasociativo); //orden descendente arsort($arrayasociativo); var_export($arrayasociativo);
Os explico el código:
Vamos con el tercer y último ejemplo en el que vamos a ordenar un array por sus claves:
$arrayasociativo = array("Juan"=>"29","Pedro"=>"18","Eduardo"=>"26"); //orden ascendente ksort($arrayasociativo); var_export($arrayasociativo); //orden descendente krsort($arrayasociativo); var_export($arrayasociativo);
Os explico el código:
Os recomiendo leer este otro post sobre funciones para trabajar con arrays en PHP.