Recapitulação: Ordenação de Leaderboard
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 26 de 68.
Desafio
FácilVocê receberá duas entradas: primeiro, um array associativo de nomes de jogadores e suas pontuações no formato JSON, e segundo, uma ordem de classificação (seja "asc" ou "desc"). Leia ambas as entradas, converta a string JSON em um array, ordene o placar pelas pontuações de acordo com a ordem especificada e imprima o nome e a pontuação de cada jogador em uma linha separada no formato: Name: Score
Use asort() para ordem crescente e arsort() para ordem decrescente para manter as associações dos nomes dos jogadores com suas pontuações.
Formato de entrada:
- Primeira linha: objeto JSON com nomes de jogadores como chaves e pontuações como valores (exemplo:
{"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100}) - Segunda linha: Ordem de classificação - seja
ascoudesc
Saída esperada: O nome e a pontuação de cada jogador em uma linha separada no formato Name: Score, ordenados de acordo com a ordem especificada
Experimente você mesmo
<?php
// Lê a entrada JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);
// Lê a ordem de ordenação
$order = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo para ordenar a tabela de classificação com base na ordem
// Exibe o nome e a pontuação de cada jogador
foreach ($leaderboard as $name => $score) {
echo "$name: $score\n";
}
?>Todas as lições de Lógica & Fluxo
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de Leaderboard