W3docs

Función PHP rsort()

Aprende a usar la función rsort() de PHP para ordenar arrays en orden descendente, con sintaxis, parámetros y ejemplos prácticos.

En este artículo analizaremos la función PHP rsort(), su sintaxis, parámetros y funcionamiento. También proporcionaremos ejemplos prácticos del uso de esta función en escenarios del mundo real.

Introducción

Ordenar es una operación esencial al trabajar con arrays en PHP. La función rsort() ordena un array en su lugar en orden inverso (descendente) por valor — el valor más grande termina en el índice 0. Es la contraparte descendente de sort(), y descarta las claves originales, reindexando el array desde 0.

Usa rsort() cuando tengas una lista indexada (una tabla de clasificación, una lista de precios, marcas de tiempo recientes) y quieras los valores más altos primero sin importar las posiciones originales.

Sintaxis

La sintaxis de la función rsort() es la siguiente:

rsort($array, $flags);

La función toma dos parámetros: $array y $flags. El parámetro $array es obligatorio y representa el array que necesita ordenarse. El parámetro $flags es opcional y representa el comportamiento de ordenación. Puede tomar los siguientes valores:

  • SORT_REGULAR: Compara elementos normalmente (sin cambiar tipos)
  • SORT_NUMERIC: Compara elementos numéricamente
  • SORT_STRING: Compara elementos como cadenas de texto
  • SORT_LOCALE_STRING: Compara elementos como cadenas de texto basándose en la configuración regional actual del sistema.

Cómo funciona

La función rsort() funciona comparando los valores del array y ordenándolos en orden inverso. Compara cada valor con el siguiente en el array y los intercambia si no están en el orden correcto. Este proceso continúa hasta que el array completo está ordenado.

Ten en cuenta que rsort() modifica el array original en su lugar y devuelve un boolean (true en caso de éxito, false en caso de fallo). También reindexia las claves numéricas de forma secuencial después de ordenar.

Ejemplos prácticos

Veamos algunos ejemplos prácticos del uso de la función rsort().

Ejemplo 1 - Ordenar valores numéricos

php— editable, runs on the server

Resultado:

Array
(
    [0] => 20
    [1] => 15
    [2] => 10
    [3] => 8
    [4] => 5
)

Ejemplo 2 - Ordenar valores de cadena

php— editable, runs on the server

Resultado:

Array
(
    [0] => elderberry
    [1] => date
    [2] => cherry
    [3] => banana
    [4] => apple
)

Ejemplo 3 - Ordenar valores mixtos

php— editable, runs on the server

Resultado:

Array
(
    [0] => cherry
    [1] => banana
    [2] => apple
    [3] => 10
    [4] => 8
    [5] => 5
)

Con SORT_REGULAR, las cadenas se ordenan por encima de los números porque PHP compara valores sin forzar una conversión de tipo. Ten en cuenta que comparar tipos mixtos puede producir resultados sorprendentes; cuando los datos sean genuinamente mixtos, es preferible usar una bandera explícita o una comparación personalizada con usort().

Errores comunes

  • Las claves se pierden. rsort() siempre reindexia el array comenzando desde 0, por lo que las claves existentes (de cadena o numéricas) se descartan. Si necesitas mantener la asociación clave-valor, usa arsort() en su lugar.
  • Ordena por valor, no por clave. Para ordenar por clave en orden inverso, usa krsort().
  • Modifica el array original. Como rsort() opera en su lugar y devuelve solo true/false, nunca escribas $sorted = rsort($array); — eso almacenaría el boolean, no el array ordenado.

Funciones relacionadas

FunciónOrdena porOrden¿Mantiene claves?
sort()ValorAscendenteNo
rsort()ValorDescendenteNo
asort()ValorAscendente
arsort()ValorDescendente
ksort()ClaveAscendente
krsort()ClaveDescendente

Para una descripción general más amplia de las herramientas de ordenación de PHP, consulta Ordenar Arrays.

Conclusión

En este artículo hemos analizado la función rsort() en PHP, cubriendo su sintaxis, parámetros y comportamiento. También proporcionamos ejemplos prácticos de ordenación de arrays numéricos, de cadena y mixtos.

Si necesitas ordenar un array en orden inverso según sus valores, rsort() es una herramienta integrada confiable. Al comprender su comportamiento de modificación en su lugar y las banderas disponibles, puedes gestionar eficientemente la ordenación de arrays en tus proyectos PHP.

Práctica

Práctica
¿Qué hace la función rsort en PHP?
¿Qué hace la función rsort en PHP?
Was this page helpful?