PHP

Inverti Array Con Array_reverse()

Funzione array_reverse() in PHP: invertire l’ordine degli elementi di un array con esempi pratici e laboratorio.


🔁 Invertire l'Ordine di un Array con array_reverse() in PHP

La funzione array_reverse() serve per invertire l’ordine degli elementi di un array. A differenza di shuffle(), che mescola in modo casuale, array_reverse() crea un nuovo array con gli elementi nell’ordine opposto rispetto a quello originale.

Puoi anche scegliere se mantenere le chiavi originali o se riassegnarle da 0 in poi.


1. Sintassi

array_reverse(array, preserve_keys);
  • array → l’array da invertire.
  • preserve_keys (opzionale) → se impostato su true, le chiavi vengono mantenute.
  • Ritorna: un nuovo array con l’ordine invertito.

2. Esempio base

<?php
$numeri = [1, 2, 3, 4, 5];

$invertito = array_reverse($numeri);

print_r($invertito);
?>

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

L’array viene invertito, ma le chiavi vengono riassegnate automaticamente da 0 a n.


3. Mantenere le chiavi originali

Puoi mantenere le chiavi originali passando true come secondo parametro:


<?php
$studenti = [
    "Luca" => 25,
    "Anna" => 28,
    "Marco" => 22
];

$invertito = array_reverse($studenti, true);

print_r($invertito);
?>

Array
(
    [Marco] => 22
    [Anna] => 28
    [Luca] => 25
)

Le chiavi testuali (Luca, Anna, Marco) vengono mantenute, ma l’ordine è invertito.


4. Differenza con altre funzioni simili
FunzioneAzioneOrdineChiavi preservate
sort()Ordina per valoreCrescenteNo
rsort()Ordina per valoreDecrescenteNo
array_reverse()Inverte l’ordineInversoOpzionale
shuffle()Mescola casualmenteCasualeNo

5. Applicazioni pratiche
  • Mostrare gli elementi più recenti per primi.
  • Invertire l’ordine di un elenco di risultati o dati caricati da un database.
  • Riprodurre una sequenza al contrario (es. cronologia, log, playlist).


LABORATORIO

Invertire l’ordine di un array con array_reverse()

In questo laboratorio imparerai a usare array_reverse() per invertire l’ordine di numeri, parole o array associativi. Vedrai come mantenere o meno le chiavi originali.


1 Invertire un array numerico

Crea un file chiamato array-reverse.php e inserisci il codice seguente:


<?php
$numeri = [10, 20, 30, 40, 50];

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

$invertito = array_reverse($numeri);

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

2 Invertire mantenendo le chiavi

Prova ora con un array associativo:


<?php
$studenti = [
    "Anna" => 28,
    "Marco" => 22,
    "Luca" => 25
];

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

$invertito = array_reverse($studenti, true);

echo "<h3>Array invertito con chiavi preservate:</h3>";
print_r($invertito);
?>
    

3 Applicazione pratica: lista di messaggi

Simuliamo una lista di messaggi dove vogliamo mostrare i più recenti in cima:


<?php
$messaggi = [
    "Buongiorno!",
    "Come stai?",
    "Hai completato l'esercizio?",
    "Ottimo lavoro!"
];

$messaggi_invertiti = array_reverse($messaggi);

echo "<h3>Messaggi (dal più recente al più vecchio):</h3>";
foreach ($messaggi_invertiti as $m) {
    echo "- " . $m . "<br>";
}
?>
    

4 Test e analisi

  • Esegui gli script nel browser e osserva l'ordine degli elementi.
  • Prova con preserve_keys = true per mantenere le chiavi.
  • Combina array_reverse() con shuffle() per creare variazioni dinamiche.
  • Usa questa funzione per visualizzare i dati più recenti per primi.