PHP: Parte 3 - IF, Switch e Loop - HighLevel



    






    
    
    
    
    

            


    




PHP: Parte 3 - IF, Switch e Loop

HighLevel
HighLevel
27 luglio 2025 • 7 min lettura
PHP: Parte 3 - IF, Switch e Loop

Strutture di Controllo del Flusso in PHP: Far Decidere al Tuo Codice

 

Benvenuti al terzo appuntamento con la nostra guida completa a PHP! Nei post precedenti abbiamo introdotto PHP, configurato il nostro ambiente di sviluppo e imparato a gestire i dati con variabili e costanti. Ora è il momento di un concetto fondamentale che darà vita e "intelligenza" ai tuoi script: le strutture di controllo del flusso.

Immagina di voler che il tuo programma faccia qualcosa solo se una certa condizione è vera, o che ripeta un'azione più volte. Le strutture di controllo del flusso sono gli strumenti che ti permettono di fare proprio questo, guidando l'esecuzione del codice in base a logiche specifiche.


 

1. Condizioni: IF, ELSEIF, ELSE – Prendere Decisioni

 

Le istruzioni condizionali ti permettono di eseguire blocchi di codice diversi a seconda che una o più condizioni siano vere o false.

 

IF Statement

 

L'istruzione if è la più semplice. Esegue un blocco di codice solo se la condizione specificata è vera.

Sintassi:

PHP
 
if (condizione) {
    // Codice da eseguire se la condizione è VERA
}

Esempio:

PHP
 
<?php
$eta = 20;

if ($eta >= 18) {
    echo "Sei maggiorenne.";
}
?>

 

IF...ELSE Statement

 

L'istruzione if...else ti permette di specificare un blocco di codice da eseguire se la condizione è vera e un altro blocco da eseguire se la condizione è falsa.

Sintassi:

PHP
 
if (condizione) {
    // Codice da eseguire se la condizione è VERA
} else {
    // Codice da eseguire se la condizione è FALSA
}

Esempio:

PHP
 
<?php
$ora = date("H"); // Ottiene l'ora corrente (formato 24 ore)

if ($ora < 12) {
    echo "Buongiornissimo!";
} else {
    echo "Buonasera!";
}
?>

 

IF...ELSEIF...ELSE Statement

 

Quando hai più di due possibili risultati, puoi usare l'istruzione if...elseif...else. PHP valuterà le condizioni in ordine e eseguirà il primo blocco per cui la condizione risulta vera. Se nessuna condizione è vera, verrà eseguito il blocco else (se presente).

Sintassi:

PHP
 
if (condizione1) {
    // Codice se condizione1 è VERA
} elseif (condizione2) {
    // Codice se condizione2 è VERA
} elseif (condizione3) {
    // Codice se condizione3 è VERA
} else {
    // Codice se NESSUNA delle condizioni precedenti è VERA
}

Esempio:

PHP
 
<?php
$punteggio = 75;

if ($punteggio >= 90) {
    echo "Voto: A (Eccellente)";
} elseif ($punteggio >= 80) {
    echo "Voto: B (Molto buono)";
} elseif ($punteggio >= 70) {
    echo "Voto: C (Buono)";
} elseif ($punteggio >= 60) {
    echo "Voto: D (Sufficiente)";
} else {
    echo "Voto: F (Insufficiente)";
}
?>

 

2. Switch Case: Alternative Multiple

 

L'istruzione switch è un'alternativa più pulita e leggibile all'if...elseif...else quando devi confrontare una singola variabile (o espressione) con molti valori diversi.

Sintassi:

PHP
 
switch (espressione) {
    case valore1:
        // Codice da eseguire se espressione == valore1
        break;
    case valore2:
        // Codice da eseguire se espressione == valore2
        break;
    default:
        // Codice da eseguire se nessun caso corrisponde
        break;
}
  • case: Definisce un valore con cui confrontare l'espressione.

  • break;: È cruciale! Termina l'esecuzione del blocco switch e impedisce il "fall-through" (cioè, l'esecuzione dei casi successivi anche se non corrispondono).

  • default:: (Opzionale) Il codice in questo blocco viene eseguito se nessun case corrisponde all'espressione.

Esempio:

PHP
 
<?php
$colore = "rosso";

switch ($colore) {
    case "rosso":
        echo "Hai scelto il colore rosso.";
        break;
    case "blu":
        echo "Hai scelto il colore blu.";
        break;
    case "verde":
        echo "Hai scelto il colore verde.";
        break;
    default:
        echo "Colore non riconosciuto.";
        break;
}
?>

 

3. Cicli (Loop): Ripetere le Azioni

 

I cicli ti permettono di eseguire un blocco di codice ripetutamente, finché una condizione non diventa falsa o per un numero predefinito di volte.

 

For Loop

 

Il ciclo for è ideale quando sai esattamente quante volte vuoi che il ciclo venga eseguito.

Sintassi:

PHP
 
for (inizializzazione; condizione; incremento/decremento) {
    // Codice da eseguire ripetutamente
}
  • inizializzazione: Eseguita una sola volta all'inizio del ciclo.

  • condizione: Valutata all'inizio di ogni iterazione. Se è vera, il ciclo continua; se è falsa, il ciclo termina.

  • incremento/decremento: Eseguito alla fine di ogni iterazione.

Esempio:

PHP
 
<?php
for ($i = 0; $i < 5; $i++) {
    echo "Il numero è: " . $i . "<br>";
}
// Output:
// Il numero è: 0
// Il numero è: 1
// Il numero è: 2
// Il numero è: 3
// Il numero è: 4
?>

 

While Loop

 

Il ciclo while esegue un blocco di codice finché la condizione specificata rimane vera. È utile quando non sai in anticipo quante iterazioni saranno necessarie.

Sintassi:

PHP
 
while (condizione) {
    // Codice da eseguire ripetutamente
}

Importante: Assicurati che la condizione diventi falsa ad un certo punto, altrimenti avrai un "loop infinito"!

Esempio:

PHP
 
<?php
$i = 1;
while ($i <= 5) {
    echo "Il numero è: " . $i . "<br>";
    $i++; // Incrementa $i per evitare un loop infinito
}
// Output uguale all'esempio for loop
?>

 

Do-While Loop

 

Il ciclo do-while è simile al while, ma garantisce che il blocco di codice venga eseguito almeno una volta, perché la condizione viene valutata alla fine di ogni iterazione.

Sintassi:

PHP
 
do {
    // Codice da eseguire almeno una volta
} while (condizione);

Esempio:

PHP
 
<?php
$i = 6; // Inizializzo $i a un valore che renderebbe falsa la condizione del while
do {
    echo "Questo messaggio verrà stampato almeno una volta. Numero: " . $i . "<br>";
    $i++;
} while ($i <= 5); // La condizione è falsa, quindi il ciclo si ferma dopo la prima esecuzione
// Output:
// Questo messaggio verrà stampato almeno una volta. Numero: 6
?>

 

Foreach Loop

 

Il ciclo foreach è specificamente progettato per iterare su array e oggetti, rendendo molto semplice l'accesso a ogni elemento. Ne parleremo più approfonditamente nel post dedicato agli array.

Sintassi (per array):

PHP
 
foreach ($array as $valore) {
    // Codice da eseguire per ogni $valore nell'array
}

// O con chiave e valore:
foreach ($array as $chiave => $valore) {
    // Codice da eseguire per ogni $chiave e $valore nell'array
}

Esempio:

PHP
 
<?php
$frutti = ["mela", "banana", "ciliegia"];

foreach ($frutti as $frutto) {
    echo "Mi piace la " . $frutto . "<br>";
}
// Output:
// Mi piace la mela
// Mi piace la banana
// Mi piace la ciliegia
?>

 

4. Break e Continue: Controllo Avanzato dei Cicli

 

  • break: Termina immediatamente l'esecuzione del ciclo corrente e il controllo del programma passa all'istruzione successiva al ciclo.

  • continue: Salta l'iterazione corrente del ciclo e passa immediatamente all'iterazione successiva.

Esempio con break:

PHP
 
<?php
for ($i = 0; $i < 10; $i++) {
    if ($i == 5) {
        echo "Ho raggiunto il 5, esco dal ciclo!<br>";
        break; // Il ciclo si ferma qui
    }
    echo "Il numero è: " . $i . "<br>";
}
// Output: 0, 1, 2, 3, 4, Ho raggiunto il 5, esco dal ciclo!
?>

Esempio con continue:

PHP
 
<?php
for ($i = 0; $i < 5; $i++) {
    if ($i == 2) {
        echo "Salto il numero 2!<br>";
        continue; // Salta il resto del codice in questa iterazione e passa alla successiva
    }
    echo "Il numero è: " . $i . "<br>";
}
// Output: 0, 1, Salto il numero 2!, 3, 4
?>

 

In Sintesi

 

Le strutture di controllo del flusso sono essenziali per creare programmi dinamici e reattivi. Con if/else, switch e i vari tipi di loop (for, while, do-while, foreach), hai gli strumenti per far sì che il tuo codice prenda decisioni e ripeta azioni in modo efficiente.

Pratica questi concetti, sono la spina dorsale di qualsiasi logica di programmazione!


 

Prossimi Passi

 

Ora che il tuo codice può "pensare" e "ripetere", nel prossimo post esploreremo le funzioni in PHP. Imparerai a organizzare il tuo codice in blocchi riutilizzabili, rendendolo più modulare, leggibile e facile da mantenere.

 

Non mancare al prossimo capitolo!

Tag:

Commenti (0)