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 numericamenteSORT_STRING: Compara itens como stringsSORT_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
Saída:
Array
(
[0] => 20
[1] => 15
[2] => 10
[3] => 8
[4] => 5
)Exemplo 2 - Ordenando Valores de String
Saída:
Array
(
[0] => elderberry
[1] => date
[2] => cherry
[3] => banana
[4] => apple
)Exemplo 3 - Ordenando Valores Mistos
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 de0, portanto, quaisquer chaves existentes (string ou numéricas) são descartadas. Se você precisar manter a associação chave-valor, usearsort(). - 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 apenastrue/false, nunca escreva$sorted = rsort($array);— isso armazenaria o boolean, não o array ordenado.
Funções Relacionadas
| Função | Ordena por | Ordem | Mantém chaves? |
|---|---|---|---|
sort() | Valor | Crescente | Não |
rsort() | Valor | Decrescente | Não |
asort() | Valor | Crescente | Sim |
arsort() | Valor | Decrescente | Sim |
ksort() | Chave | Crescente | Sim |
krsort() | Chave | Decrescente | Sim |
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.