W3docs

Função PHP rsort()

Aprenda a usar a função PHP rsort(), sua sintaxe, parâmetros e exemplos práticos de ordenação de arrays em ordem decrescente.

Neste artigo, vamos discutir a função PHP rsort(), sua sintaxe, parâmetros e como ela funciona. Também forneceremos alguns exemplos práticos do uso desta função em cenários do mundo real.

Introdução

Ordenar é uma operação essencial ao trabalhar com arrays em PHP. A função rsort() ordena um array no próprio lugar em ordem inversa (decrescente) por valor — o maior valor termina no índice 0. É a contraparte decrescente de sort() e descarta as chaves originais, reindexando o array a partir de 0.

Use rsort() quando tiver uma lista indexada (um placar, uma lista de preços, timestamps recentes) e quiser os maiores valores primeiro, sem se preocupar com as posições originais.

Sintaxe

A sintaxe da função rsort() é a seguinte:

rsort($array, $flags);

A função recebe dois parâmetros: $array e $flags. O parâmetro $array é obrigatório e representa o array que precisa ser ordenado. O parâmetro $flags é opcional e representa o comportamento de ordenação. Ele pode assumir os seguintes valores:

  • SORT_REGULAR: Compara itens normalmente (sem alterar os tipos)
  • SORT_NUMERIC: Compara itens numericamente
  • SORT_STRING: Compara itens como strings
  • SORT_LOCALE_STRING: Compara itens como strings com base nas configurações de localidade do sistema atual.

Como Funciona

A função rsort() funciona comparando os valores no array e ordenando-os em ordem inversa. Ela compara cada valor com o próximo no array e os troca se não estiverem na ordem correta. Esse processo continua até que todo o array esteja ordenado.

Note que rsort() modifica o array original no próprio lugar e retorna um boolean (true em caso de sucesso, false em caso de falha). Ela também reindexa as chaves numéricas sequencialmente após a ordenação.

Exemplos Práticos

Vamos dar uma olhada em alguns exemplos práticos de uso da função rsort().

Exemplo 1 - Ordenando Valores Numéricos

php— editable, runs on the server

Saída:

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

Exemplo 2 - Ordenando Valores de String

php— editable, runs on the server

Saída:

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

Exemplo 3 - Ordenando Valores Mistos

php— editable, runs on the server

Saída:

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

Com SORT_REGULAR, as strings ficam acima dos números porque o PHP compara os valores sem forçar uma conversão de tipo. Esteja ciente de que comparar tipos mistos pode produzir resultados surpreendentes; quando seus dados são genuinamente mistos, prefira um flag explícito ou uma comparação personalizada com usort().

Armadilhas Comuns

  • As chaves são perdidas. rsort() sempre reindexa o array a partir de 0, portanto, quaisquer chaves existentes (string ou numéricas) são descartadas. Se você precisar manter a associação chave-valor, use arsort().
  • Ordena por valor, não por chave. Para ordenar por chave em ordem inversa, use krsort().
  • Modifica o array original. Como rsort() funciona no próprio lugar e retorna apenas true/false, nunca escreva $sorted = rsort($array); — isso armazenaria o boolean, não o array ordenado.

Funções Relacionadas

FunçãoOrdena porOrdemMantém chaves?
sort()ValorCrescenteNão
rsort()ValorDecrescenteNão
asort()ValorCrescenteSim
arsort()ValorDecrescenteSim
ksort()ChaveCrescenteSim
krsort()ChaveDecrescenteSim

Para uma visão geral mais ampla das ferramentas de ordenação do PHP, consulte Ordenando Arrays.

Conclusão

Neste artigo, discutimos a função rsort() em PHP, abordando sua sintaxe, parâmetros e comportamento. Também fornecemos exemplos práticos de ordenação de arrays numéricos, de strings e mistos.

Se você precisar ordenar um array em ordem inversa de acordo com seus valores, rsort() é uma ferramenta integrada confiável. Ao entender seu comportamento de modificação no próprio lugar e os flags disponíveis, você pode lidar com eficiência com a ordenação de arrays em seus projetos PHP.

Prática

Prática
O que a função rsort faz em PHP?
O que a função rsort faz em PHP?
Was this page helpful?