Ordenar Arrays Indexados (Decrescente)
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 21 de 68.
Quando você precisa ordenar dados em ordem reversa — do maior para o menor ou de Z a A — a função rsort() do PHP oferece a solução perfeita. Esta função funciona exatamente como a sort(), mas organiza os elementos em ordem decrescente em vez de crescente.
Veja como o rsort() funciona com um array de pontuações:
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// Saída: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>Assim como sort(), a função rsort() modifica o array original diretamente em vez de criar uma nova cópia ordenada. Após chamar rsort(), seu array é permanentemente rearranjado em ordem decrescente.
Esta função é particularmente útil quando você deseja exibir rankings, tabelas de classificação ou quaisquer dados onde os valores mais altos devem aparecer primeiro. Esteja você trabalhando com pontuações de testes, números de vendas ou listas alfabéticas que precisam de ordenação reversa, o rsort() lida com a tarefa de forma eficiente.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilVocê receberá uma entrada: um array de números de vendas em formato JSON. Leia a entrada, converta a string JSON em um array, use rsort() para organizar os números de vendas em ordem decrescente e imprima o array ordenado usando print_r().
Formato de entrada: Uma linha contendo um array JSON de números (exemplo: [1250,3400,890,2100,1780])
Saída esperada: O array ordenado em ordem decrescente, exibido usando print_r()
Folha de consulta
A função rsort() ordena arrays em ordem decrescente (do maior para o menor):
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// Saída: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>Assim como a sort(), a rsort() modifica o array original diretamente em vez de criar uma nova cópia ordenada.
Experimente você mesmo
<?php
// Ler a entrada
$input = trim(fgets(STDIN));
// Converter string JSON para array
$sales = json_decode($input, true);
// TODO: Escreva seu código abaixo para ordenar o array em ordem decrescente
// Exibir o array ordenado
print_r($sales);
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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