Los arrays asociativos son estructuras de datos que PHP nos ofrece para poder almacenar datos asociados a una serie de claves, en lugar de a un índice numérico. En otros lenguajes, se les denomina tablas hash.
La ordenación de dichos arrays, es una de las operaciones básicas de cara a un correcto manejo de los mismos. Para poder llevar a cabo esa operación, PHP nos ofrece dos funciones: asort y ksort que vamos a explicar en esta entrada. Este tipo de array se utiliza muy a menudo al hacer consultas contra bases de datos, con funciones como mysql_fetch_array.
Creación del array
Antes de comenzar con el ejemplo, vamos a crear un vector de ejemplo (es una adaptación del ejemplo presente en la documentación oficial).
$fruits = array("d"=>"limón", "a"=>"naranja", "b"=>"plátano", "c"=>"manzana"); Ordenar con ksort
Ordena el array por su clave (key), de esta forma tendríamos (es interesante ver el uso de foreach en este código):
ksort($frutas);
foreach ($frutas as $key => $val) {
echo "$key = $val\n";
} La salida sería:
Ordenar con asort
Si lo que queremos es realizar la ordenación de forma que la referencia sea el valor, usaremos esta otra función:
asort($frutas);
foreach ($frutas as $key => $val) {
echo "$key = $val\n";
} La salida esta vez sería:
Ordenación en sentido inverso
A modo de curiosidad os indico cómo sería esta misma ordenación pero en sentido inverso, para cada caso tenemos una función:
Ver comentarios
Muchas gracias info muy util