Categorías: Tutoriales

Ordenar arrays asociativos en PHP: diferencia entre ksort y asort

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:

  • a = naranja
  • b = plátano
  • c = manzana
  • d = limón

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:

  • d = limón
  • c = manzana
  • a = naranja
  • b = plátano

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:

  • arsort
  • krsort
F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace