PHP

Ordinamento Con Sort()

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


🔢 Ordinare un Array con sort() in PHP

La funzione sort() in PHP serve per ordinare un array in ordine crescente secondo i valori contenuti. Gli indici numerici vengono riassegnati automaticamente a partire da 0.

Questa funzione è ideale per ordinare liste semplici di numeri o stringhe (array indicizzati).


1. Sintassi

sort(array, sort_flags);
  • array → l’array da ordinare.
  • sort_flags (opzionale) → specifica il tipo di ordinamento (alfabetico, numerico, naturale, ecc.).

2. Esempio base: ordinamento alfabetico

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

sort($frutti);

print_r($frutti);
?>

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

Come puoi vedere, l’array è stato riordinato alfabeticamente e gli indici sono stati riassegnati.


3. Ordinamento numerico

<?php
$numeri = [45, 12, 9, 100, 3];
sort($numeri);
print_r($numeri);
?>

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

4. Attenzione agli indici

La funzione sort() perde le chiavi originali dell’array e riassegna indici numerici da 0. Se vuoi mantenere le chiavi, dovrai usare asort() (che vedremo in seguito).


5. Parametro opzionale: sort_flags

Il secondo parametro serve per controllare il tipo di confronto. Alcuni valori utili:

FlagDescrizione
SORT_REGULAROrdinamento standard (predefinito)
SORT_NUMERICConfronta i valori come numeri
SORT_STRINGConfronta i valori come stringhe
SORT_NATURALOrdina come una persona leggerebbe (es. file1, file2, file10)

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

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


LABORATORIO

Ordinare gli array con sort()

In questo laboratorio imparerai a usare la funzione sort() per ordinare numeri e parole in ordine crescente. Vedremo anche la differenza tra ordinamento alfabetico, numerico e naturale.


1 Ordinare parole

Crea un file chiamato ordinamento-sort.php e inserisci il seguente codice:


<?php
$parole = ["Pera", "Mela", "Arancia", "Banana"];
echo "<h3>Array originale:</h3>";
print_r($parole);

sort($parole);

echo "<h3>Array ordinato:</h3>";
print_r($parole);
?>
    

2 Ordinare numeri

Prova ora con un array di numeri:


<?php
$numeri = [40, 5, 15, 100, 2];
echo "<h3>Prima dell'ordinamento:</h3>";
print_r($numeri);

sort($numeri);

echo "<h3>Dopo l'ordinamento:</h3>";
print_r($numeri);
?>
    

3 Ordinamento naturale di stringhe

Confronta la differenza tra ordinamento normale e naturale:


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

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

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

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

4 Test e analisi

  • Esegui i vari esempi nel browser.
  • Osserva come cambiano gli indici e l’ordine dei valori.
  • Prova ad aggiungere parole maiuscole o minuscole e nota la differenza (le maiuscole vengono prima per ordine ASCII).
  • Confronta sort() con rsort() (che ordina in senso inverso).