Resumen: Ordenar tablas de clasificación
Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 26 de 68.
Desafío
FácilRecibirás dos entradas: primero, un array asociativo de nombres de jugadores y sus puntuaciones en formato JSON, y segundo, un orden de clasificación (ya sea "asc" o "desc"). Lee ambas entradas, convierte la cadena JSON en un array, ordena la tabla de clasificación por puntuaciones según el orden especificado y muestra el nombre y la puntuación de cada jugador en una línea separada con el formato: Name: Score
Usa asort() para el orden ascendente y arsort() para el orden descendente para mantener las asociaciones de los nombres de los jugadores con sus puntuaciones.
Formato de entrada:
- Primera línea: Objeto JSON con nombres de jugadores como claves y puntuaciones como valores (ejemplo:
{"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100}) - Segunda línea: Orden de clasificación - ya sea
ascodesc
Resultado esperado: El nombre y la puntuación de cada jugador en una línea separada en el formato Name: Score, ordenados según el orden especificado
Pruébalo tú mismo
<?php
// Leer la entrada JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);
// Leer el orden de clasificación
$order = trim(fgets(STDIN));
// TODO: Escribe tu código a continuación para ordenar la tabla de clasificación según el orden
// Mostrar el nombre y la puntuación de cada jugador
foreach ($leaderboard as $name => $score) {
echo "$name: $score\n";
}
?>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