Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 20 di 67
  • livello intermedio
Indice lezioni

Controllare i cicli con break e continue

Scopriamo come controllare i cicli di iterazione in PHP con break e continue.
Scopriamo come controllare i cicli di iterazione in PHP con break e continue.
Link copiato negli appunti

Nelle ultime lezioni abbiamo introdotti i cicli ed abbiamo visto come eseguirli finché una certa espressione è vera (for, while, do...while) oppure finché non terminano gli elementi contenuti in un array (foreach).

Quello che però non abbiamo detto finora è che ci sono due costrutti che consentono di interrompere un ciclo oppure di saltare il resto del ciclo corrente e riprendere l'esecuzione dalla verifica della condizione di controllo dall'inizio dell'iterazione successiva.

Stiamo parlando delle strutture di controllo break e continue.

Break

Il costrutto break consente di interrompere un ciclo e di uscirne senza continuare le iterazioni rimanenti. È molto utile, ad esempio, quando si cerca un valore all'interno di un array: nel momento in cui l'elemento viene trovato non è necessario continuare con altri gli elementi. Vediamo un esempio:

$atleti = array( 'Simone', 'Josephine', 'Giuseppe', 'Gabriele' );

$posizione_di_arrivo = 0;
foreach ($atleti as $posizione => $nome) {
    if ($nome == 'Josephine') {
        $posizione_di_arrivo = $posizione + 1;
        break;
    }
}

echo "Josephine è arrivata in posizione numero " . $posizione_di_arrivo;

Nell'esempio appena proposto vogliamo visualizzare la posizione di arrivo dell'atleta Josephine foreach

Non appena troviamo l'utente che stiamo cercando non è più necessario continuare le iterazioni per i restanti atleti ma possiamo interrompere l'esecuzione del ciclo. Per raggiungere il nostro scopo è sufficiente utilizzare la struttura di controllo break.

Il costrutto break è utile però anche in un'altra circostanza che abbiamo analizzato in una delle lezioni precedenti, quella relativa alla utilizzo del costrutto condizionale switch. In questo caso, infatti, è utilizzato per uscire dal costrutto nel momento in cui uno dei casi corrisponde al valore che stiamo verificando in quel momento. Vediamo anche in questo caso un esempio:

$posizione_di_arrivo = 1;
switch ($posizione_di_arrivo) {
    case 1:
        echo "Sei arrivato primo!";
        break;
    case 2:
        echo "Sei arrivato secondo!";
        break;
    case 3:
        echo "Sei arrivato terzo!";
        break;
    default:
        echo "Spiacente, non sei sul podio!";
        break;
}

Una volta che abbiamo trovato il valore corrispondente alla posizione di arrivo dell'atleta non è necessario valutare ulteriori casi dello switch

Continue

La struttura di controllo continue è utilizzata per saltare il ciclo corrente e proseguire con le iterazioni successive previste. Vediamo un esempio per capire un po' più a fondo di cosa stiamo parlando:

for ($posizione=1; $posizione <= 10; $posizione++) {
    if ($posizione % 2 == 1) {
        continue;
    }

    echo "Il numero " . $posizione . " è un numero pari\n";
}

Nell'esempio precedente vogliamo stampare a schermo soltanto i numeri pari contenuti all'interno del ciclo for operatore aritmetico modulo

Nel nostro esempio, quindi, nel caso in cui un valore del ciclo non è divisibile per 2, saltiamo l'iterazione e passiamo direttamente a quella successiva.

Ti consigliamo anche