En este tutorial aprenderá a ordenar los elementos o las claves de una matriz en orden ascendente o descendente en PHP.

Funciones de PHP para ordenar matricesEn el capítulo anterior aprendiste lo esencial de las matrices PHP, es decir, qué matrices son, cómo crearlas, cómo ver su estructura, cómo acceder a sus elementos, etc. Puedes hacer aún más cosas con matrices, como clasificar los elementos en cualquier orden que te gustaPHP viene con una serie de funciones integradas diseñadas específicamente para ordenar los elementos de la matriz de diferentes maneras, alfabética o numéricamente, en orden ascendente o descendente. Aquí exploraremos algunas de estas funciones más comúnmente usadas para ordenar matrices.
  1.     sort() y rsort() - Para ordenar matrices indexadas
  2.     asort() y arsort() - Para ordenar matrices asociativas por valor
  3.     ksort() y krsort() - Para ordenar matrices asociativas por clave

Clasificación de matrices indexadas en orden ascendenteLa función sort() se usa para clasificar los elementos de la matriz indexada en orden ascendente (alfabéticamente para las letras y numéricamente para los números).Ejemplo

    
<?php
    
// Definir matriz
    
$colores = array ("Rojo", "Verde", "Azul", "Amarillo");
    
    
// Ordenar e imprimir matriz
    sort
($colores);
    
print_r ($colores);
    
?>Esta instrucción print_r () da el siguiente resultado:

Matriz ([0] => Azul [1] => Verde [2] => Rojo [3] => Amarillo)De forma similar, puede ordenar los elementos numéricos de la matriz en orden ascendente.Ejemplo

    
<? php
    
// Definir matriz
    
$numeros= array (1, 2, 2.5, 4, 7, 10);   

    
// Ordenar e imprimir matriz
    sort
($números);
    
print_r ($numeros);
    
?>Esta instrucción print_r () da el siguiente resultado:

Matriz ([0] => 1 [1] => 2 [2] => 2.5 [3] => 4 [4] => 7 [5] => 10)

Clasificación de matrices indexadas en orden descendenteLa función rsort () se utiliza para ordenar los elementos de la matriz indexada en orden descendente (alfabéticamente para las letras y numéricamente para los números).Ejemplo

    
<? php
    
// Definir matriz
    
$ colores = array ("Rojo", "Verde", "Azul", "Amarillo");    

    
// Ordenar e imprimir matriz
    
rsort ($colores);
    
print_r ($colores);
    
?>Esta instrucción print_r () da el siguiente resultado: 
Matriz ([0] => Amarillo [1] => Rojo [2] => Verde [3] => Azul)De forma similar, puede ordenar los elementos numéricos de la matriz en orden descendente.Ejemplo
    
<?php
    
// Definir matriz
    
$numeros= array (1, 2, 2.5, 4, 7, 10);    
    // Ordenar e imprimir matriz
    
rsort ($ numbers);
    
print_r ($ números);
    
?>Esta instrucción print_r () da el siguiente resultado: 
Matriz ([0] => 10 [1] => 7 [2] => 4 [3] => 2.5 [4] => 2 [5] => 1)

Clasificación de matrices asociativas en orden ascendente por valorLa función asort () ordena los elementos de una matriz asociativa en orden ascendente según el valor. Funciona igual que sort (), pero conserva la asociación entre las claves y sus valores durante la ordenación.Ejemplo

    
< php
    
// Definir matriz
    
$edad= array ("Peter" => 20, "Harry" => 14, "John" => 45, "Clark" => 35);

    
// Ordenar matriz por valor e imprimir
    
asort ($edad);
    
print_r ($edad);

    
?>Esta instrucción print_r () da el siguiente resultado:

Matriz ([Harry] => 14 [Peter] => 20 [Clark] => 35 [John] => 45)
 Clasificación de matrices asociativas en orden descendente por valorLa función arsort () ordena los elementos de una matriz asociativa en orden descendente de acuerdo con el valor. Funciona igual que rsort (), pero conserva la asociación entre las claves y sus valores durante la ordenación.Ejemplo

    
<?php
    
// Definir matriz
    
$edad= array ("Peter" => 20, "Harry" => 14, "John" => 45, "Clark" => 35);    

    
// Ordenar matriz por valor e imprimir
    
arsort ($ edad);
    
print_r ($ edad);
    
?>Esta instrucción print_r () da el siguiente resultado:

Matriz ([John] => 45 [Clark] => 35 [Peter] => 20 [Harry] => 14)
 Clasificación de matrices asociativas en orden ascendente por claveLa función ksort () ordena los elementos de una matriz asociativa en orden ascendente ascendente a la clave. Conserva la asociación entre las claves y sus valores al ordenar, al igual que la función asort ().Ejemplo

    
<?php
    
// Definir matriz  
    $edad= array ("Peter" => 20, "Harry" => 14, "John" => 45, "Clark" => 35);

    
// Ordenar matriz por valor e imprimir
    
ksort ($edad);
    
print_r ($edad);
    
?>Esta instrucción print_r () da el siguiente resultado:

Array ([Clark] => 35 [Harry] => 14 [John] => 45 [Peter] => 20)
 Clasificación de matrices asociativas en orden descendente por claveLa función krsort () ordena los elementos de una matriz asociativa en orden descendente ascendiendo a la clave. Conserva la asociación entre las claves y sus valores al ordenar, al igual que la función arsort ().Ejemplo

    
<? php
    
// Definir matriz
    
$ edad= array ("Peter" => 20, "Harry" => 14, "John" => 45, "Clark" => 35);

    
// Ordenar matriz por valor e imprimir
    
krsort ($ edad);
    
print_r ($ edad);
    
?>


Esta instrucción print_r () da el siguiente resultado:
 
Matriz ([Peter] => 20 [John] => 45 [Harry] => 14 [Clark] => 35)


<ANTERIOR                                      SIGUIENTE>