Ejemplos de Ordenar Array Por Clave PHP
Última modificación por: Redacción ejemplosde.com, año 2021
PHP tiene muchas funciones para el manejo de arrays o arreglos, entre éstas están las de ordenamiento y en particular las que utilizan una clave.
Cuando un arreglo tiene varias columnas, o cuando queremos que el orden no dependa del valor de la misma, se utiliza un índice para poder hacerlo basado en sus valores , éste puede ser numérico o alfabético.
Ejemplo de ordenar array por clave en PHP:
Supongamos que se tiene el siguiente arreglo de una dimensión:
París |
Tokio |
Londres |
Los Ángeles |
Nueva York |
Y queremos ordenarlo de acuerdo a las escalas que haría un avión que viaje de Tokio a París pasando por todas esas ciudades. El valor que contienen los elementos del arreglo no permite realizar el ordenamiento deseado.
SI a cada uno de los elementos se le asigna un índice se puede realizar la operación sobre el valor que contiene el mismo, es decir que si asignamos los siguientes valores a los elementos del arreglo:
París | è E |
Tokio | è A |
Londres | è D |
Los Ángeles | è B |
Nueva York | è C |
Podemos ordenarlo por los valores del índice quedando de la siguiente forma:
Tokio | è A |
Los Ángeles | è B |
Nueva York | è C |
Londres | è D |
París | è E |
PHP realiza esta operación con dos funciones ksort(), que hace el ordenamiento en forma ascendente y krsort() en orden descendente.
Ejemplo de ksort()
$ciudad = array(“E” => “París”, “A”=>”Tokio”, “D”=>”Londres”,
“B”=>”Los Ángeles”, “C”=>”Nueva York”);
ksort($ciudad);
foreach($ciudad as $key=>$val) {
echo “$key = $val ”;
}
?>
Al ejecutar el script anterior se despliega el arreglo de salida con las ciudades ordenadas por el valor del índice desplegándose Tokio, Los Ángeles, Nueva York, Londres y París.
Si deseamos ordenar el mismo arreglo para obtener las ciudades de un vuelo de París a Tokio, se hace por índice el mismo arreglo, pero en orden descendente como muestra el ejemplo del uso de krsort()
$ciudad = array(“E” => “París”, “A”=>”Tokio”, “D”=>”Londres”,
“B”=>”Los Ángeles”, “C”=>”Nueva York”);
krsort($ciudad);
foreach($ciudad as $key=>$val) {
echo “$key = $val ”;
}
?>
En este caso la salida alejecutar este script es París, Londres, Nueva York, Los Ángeles, Tokio.
Es muy recomendable utilizar índices en los arreglos para realizar ordenaciones y búsquedas cuando éstos son de gran tamaño, ya que las operaciones se ejecutan más rápidamente.