PHP

Ordinamento Con Rsort()

Funzione rsort() in PHP: ordinare gli array in ordine decrescente con esempi e laboratorio pratico.


🔽 Ordinare un Array in Ordine Decrescente con rsort() in PHP

La funzione rsort() serve per ordinare un array in ordine decrescente (dal più grande al più piccolo, o dalla Z alla A). È l’opposto di sort(), e come quella reindicizza automaticamente gli elementi partendo da 0.


1. Sintassi

rsort(array, sort_flags);
  • array → l’array da ordinare.
  • sort_flags (opzionale) → definisce il tipo di confronto (numerico, stringa, naturale...).

2. Esempio base: ordinamento alfabetico inverso

<?php
$frutti = ["Banana", "Mela", "Arancia", "Kiwi"];

rsort($frutti);

print_r($frutti);
?>

Array
(
    [0] => Mela
    [1] => Kiwi
    [2] => Banana
    [3] => Arancia
)

L’array è stato riordinato in senso opposto (Z → A). Come in sort(), gli indici originali vengono persi e riassegnati.


3. Ordinamento numerico decrescente

<?php
$numeri = [45, 12, 9, 100, 3];

rsort($numeri);
print_r($numeri);
?>

Array
(
    [0] => 100
    [1] => 45
    [2] => 12
    [3] => 9
    [4] => 3
)

4. Ordinamento con flag

Come sort(), anche rsort() accetta un parametro opzionale per controllare il tipo di ordinamento.

FlagDescrizione
SORT_REGULAROrdinamento standard (predefinito)
SORT_NUMERICOrdinamento numerico
SORT_STRINGOrdinamento alfabetico
SORT_NATURALOrdinamento naturale inverso (file10 dopo file2)

<?php
$file = ["file2.txt", "file10.txt", "file1.txt"];
rsort($file, SORT_NATURAL);
print_r($file);
?>

Array
(
    [0] => file10.txt
    [1] => file2.txt
    [2] => file1.txt
)

5. Differenza tra sort() e rsort()
FunzioneTipo di ordinamentoRisultato
sort()Crescente1, 2, 3, 4...
rsort()Decrescente4, 3, 2, 1...


LABORATORIO

Ordinare gli array in ordine decrescente con rsort()

In questo laboratorio imparerai a usare rsort() per ordinare numeri e parole dal più grande al più piccolo (o dalla Z alla A). Vedrai anche come usare i parametri di ordinamento.


1 Ordinare parole in ordine inverso

Crea un file chiamato ordinamento-rsort.php e inserisci questo codice:


<?php
$frutti = ["Mela", "Banana", "Arancia", "Kiwi"];

echo "<h3>Array originale:</h3>";
print_r($frutti);

rsort($frutti);

echo "<h3>Array ordinato (Z → A):</h3>";
print_r($frutti);
?>
    

2 Ordinare numeri in ordine decrescente

Prova ora con un array di numeri:


<?php
$numeri = [10, 50, 3, 25, 7];

echo "<h3>Prima dell'ordinamento:</h3>";
print_r($numeri);

rsort($numeri);

echo "<h3>Dopo l'ordinamento (dal più grande al più piccolo):</h3>";
print_r($numeri);
?>
    

3 Ordinamento naturale inverso

Prova l'ordinamento naturale (utile per nomi di file o versioni):


<?php
$file = ["file2.txt", "file10.txt", "file1.txt"];

echo "<h3>Ordinamento standard inverso:</h3>";
rsort($file);
print_r($file);

$file = ["file2.txt", "file10.txt", "file1.txt"];

echo "<h3>Ordinamento naturale inverso:</h3>";
rsort($file, SORT_NATURAL);
print_r($file);
?>
    

4 Test e analisi

  • Esegui gli script nel browser e osserva l'ordine dei risultati.
  • Nota come rsort() riassegna gli indici da 0.
  • Prova a confrontare i risultati con sort().
  • Usa SORT_NUMERIC per forzare il confronto numerico.