English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de PHP

Tutorial avanzado de PHP

PHP & MySQL

Manual de referencia de PHP

Ordenamiento de arreglos de PHP

En este tutorial, aprenderá cómo ordenar elementos o claves de arrays en orden ascendente o descendente en PHP.

Funciones de PHP para ordenar arrays

En el capítulo anterior, ya ha aprendido los conocimientos básicos de arrays en PHP, como lo que es un array, cómo crearlos, cómo ver su estructura, cómo acceder a sus elementos, etc. Puede hacer más con los arrays, como ordenar los elementos según el orden especificado.

PHP incluye muchas funciones integradas, diseñadas específicamente para ordenar elementos de arrays de diferentes maneras, como en orden alfabético o numérico, en orden ascendente o descendente. Aquí, exploraremos algunas de las funciones más utilizadas para ordenar arrays.

  • sort() y rsort() - Ordenar arrays de índices

  • asort() y arsort() - Se utilizan para ordenar arrays asociativos por valor

  • ksort() y krsort() - Se utilizan para ordenar arrays asociativos por clave

Ordenar el array de índices en orden ascendente

La función sort() se utiliza para ordenar en orden ascendente los elementos del array de índices (los elementos se ordenan alfabéticamente, y los números se ordenan numéricamente).

<?php
//Definir el array
$colors = array("Red", "Green", "Blue", "Yellow");
 
//Ordenar y mostrar el array
sort($colors);
print_r($colors);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

 Array ( [0] => Blue [1] => Verde [2] => Rojo [3] => Yellow )

Del mismo modo, puede ordenar los elementos numéricos del array en orden ascendente.

<?php
//Definir el array
$numbers = array(1, 2, 2.5, 4, 7, 10);
 
//Ordenar y mostrar el array
sort($numbers);
print_r($numbers);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

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

Ordenar el array de índices en orden descendente

La función rsort() se utiliza para ordenar en orden descendente los elementos del array de índices (los elementos se ordenan alfabéticamente, y los números se ordenan numéricamente).

<?php
//Definir el array
$colors = array("Red", "Green", "Blue", "Yellow");
 
// Ordenar y mostrar el array
rsort($colors);
print_r($colors);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

Array ( [0] => Amarillo [1] => Rojo [2] => Verde [3] => Azul )

Del mismo modo, puede ordenar los elementos numéricos del array en orden descendente.

<?php
//Definir el array
$numbers = array(1, 2, 2.5, 4, 7, 10);
 
//Ordenar y mostrar el array
rsort($numbers);
print_r($numbers);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

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

Ordenar un array asociativo por valor en orden ascendente

La función asort() ordena los elementos de un array asociativo en orden ascendente por valor. Funciona de manera similar a sort(), pero mantiene la asociación entre la clave y su valor durante el ordenamiento.

<?php
//Definir el array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//Ordenar y mostrar el array por valor
asort($age);
print_r($age);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

Array ( [Harry] => 14 [Peter] => 20 [Clark] => 35 [John] => 45 )

Ordenar un array asociativo por valor en orden descendente

La función arsort() ordena los elementos de un array asociativo en orden descendente por valor. Funciona de manera similar a rsort(), pero mantiene la asociación entre la clave y su valor durante el ordenamiento.

<?php
//Definir el array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//Ordenar y mostrar el array por valor
arsort($age);
print_r($age);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

Array ( [John] => 45 [Clark] => 35 [Peter] => 20 [Harry] => 14 )

Ordenar un array asociativo por clave en orden ascendente

La función ksort() ordena los elementos de un array asociativo en orden ascendente por clave. Al igual que la función asort(), mantiene la asociación entre la clave y su valor durante el ordenamiento.

<?php
//Definir el array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//Ordenar el array por teclas y mostrar
ksort($age);
print_r($age);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

Array ( [Clark] => 35 [Harry] => 14 [John] => 45 [Peter] => 20 )

Ordenar un array asociativo por clave en orden descendente

La función ksort() ordena los elementos de un array asociativo en orden ascendente por clave. Al igual que la función asort(), mantiene la asociación entre la clave y su valor durante el ordenamiento.

<?php
//Definir el array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
 
//Ordenar el array por teclas y mostrar
krsort($age);
print_r($age);
?>
Prueba a ver‹/›

La sentencia print_r() proporciona la siguiente salida:

Array ( [Peter] => 20 [John] => 45 [Harry] => 14 [Clark] => 35 )