Ordenar arrays indexados de forma descendente
Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 21 de 68.
Cuando necesites ordenar datos en orden inverso —de mayor a menor o de la Z a la A— la función rsort() de PHP proporciona la solución perfecta. Esta función funciona exactamente igual que sort(), pero organiza los elementos en orden descendente en lugar de ascendente.
Aquí se muestra cómo funciona rsort() con un array de puntuaciones:
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// Outputs: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>Al igual que sort(), la función rsort() modifica el array original directamente en lugar de crear una nueva copia ordenada. Después de llamar a rsort(), tu array se reorganiza permanentemente en orden descendente.
Esta función es especialmente útil cuando deseas mostrar clasificaciones, tablas de posiciones o cualquier dato donde los valores más altos deban aparecer primero. Ya sea que estés trabajando con puntajes de exámenes, cifras de ventas o listas alfabéticas que necesiten un orden inverso, rsort() maneja la tarea de manera eficiente.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Desafío
FácilRecibirás una entrada: un array de cifras de ventas en formato JSON. Lee la entrada, convierte la cadena JSON en un array, utiliza rsort() para organizar las cifras de ventas en orden descendente y muestra el array ordenado utilizando print_r().
Formato de entrada: Una línea que contiene un array JSON de números (ejemplo: [1250,3400,890,2100,1780])
Salida esperada: El array ordenado en orden descendente, mostrado mediante print_r()
Hoja de referencia
La función rsort() ordena arrays en orden descendente (de mayor a menor):
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// Salida: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>Al igual que sort(), rsort() modifica el array original directamente en lugar de crear una nueva copia ordenada.
Pruébalo tú mismo
<?php
// Leer la entrada
$input = trim(fgets(STDIN));
// Convertir la cadena JSON en un array
$sales = json_decode($input, true);
// TODO: Escribe tu código a continuación para ordenar el array en orden descendente
// Mostrar el array ordenado
print_r($sales);
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Funciones avanzadas
Funciones anónimasClosures y 'use'Funciones de flechaFunciones callbackUso de 'call_user_func'Funciones variablesPaso por referenciaFunciones recursivasResumen: Miscelánea de funciones4Arreglos multidimensionales
Crear un arreglo 2DAcceder a elementos de un arreglo 2DModificar elementos de un arreglo 2DIterar con bucles anidadosArreglos asociativos 2DResumen: Ejercicio de cuadrícula simple2Manipulación avanzada de arrays
Agregar con 'array_push'Eliminar con 'array_pop'Agregar con 'array_unshift'Eliminar con 'array_shift'Fusionar arrays indexadosFusionar arrays asociativosExtraer con 'array_slice'Valores con 'in_array'Claves con 'array_search'Resumen: Ejercicio de Playlist3Ordenar Arrays
Ordenar arrays indexados de forma ascendenteOrdenar arrays indexados de forma descendenteOrdenar arrays asociativos por valorOrdenar arrays asociativos por claveOrdenación por orden naturalOrdenación personalizada con 'usort'Resumen: Ordenar tablas de clasificación