Menu
Coddy logo textTech

Istruzione continue

Fa parte della sezione Fondamenti del percorso PHP di Coddy. Lezione 52 di 71.

Mentre break esce completamente da un ciclo, a volte vuoi solo saltare l'iterazione corrente e passare alla successiva. È esattamente ciò che fa l'istruzione continue.

Quando PHP incontra continue, passa immediatamente all’iterazione successiva del ciclo, saltando il codice rimanente nell’iterazione corrente.

<?php
for ($i = 1; $i <= 5; $i++) {
    if ($i === 3) {
        continue;
    }
    echo $i . "\n";
}
?>

Questo produce:

1
2
4
5

Nota che manca 3. Quando $i è uguale a 3, l'istruzione continue salta echo e passa direttamente all'iterazione successiva, in cui $i diventa 4.

Un caso d'uso comune è filtrare i valori indesiderati durante l'elaborazione di un array:

<?php
$numbers = [10, -5, 8, -3, 12];

foreach ($numbers as $num) {
    if ($num < 0) {
        continue;
    }
    echo $num . "\n";
}
?>

Questo stampa solo i numeri positivi: 10, 8 e 12. I valori negativi vengono saltati, ma il ciclo continua a scorrere tutti gli elementi.

La differenza fondamentale: break interrompe completamente il ciclo, mentre continue passa semplicemente all’iterazione successiva.

challenge icon

Sfida

Facile

Leggi due righe di input:

  1. Un elenco di interi separati da virgole (ad es., 3,7,12,5,8,20,15)
  2. Un numero divisore

Usa un ciclo foreach per scorrere l'array. Usa continue per saltare tutti i numeri divisibili per il divisore specificato. Stampa tutti gli altri numeri, ciascuno su una riga separata.

Esempio 1:

Se gli input sono 1,2,3,4,5,6,7,8,9,10 e 3, l'output dovrebbe essere:

1
2
4
5
7
8
10

(I numeri 3, 6 e 9 vengono saltati perché sono divisibili per 3)

Esempio 2:

Se gli input sono 10,15,20,25,30 e 5, l'output dovrebbe essere:

(Tutti i numeri sono divisibili per 5, quindi non viene stampato nulla)

Esempio 3:

Se gli input sono 7,14,21,10,5 e 7, l'output dovrebbe essere:

10
5

Provalo tu

<?php
// Leggi l'input
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));

// Converti la stringa separata da virgole in un array di numeri interi
$numbers = array_map('intval', explode(',', $input));

// TODO: Scrivi il tuo codice qui sotto
// Usa un ciclo foreach per iterare su $numbers
// Usa continue per saltare i numeri divisibili per $divisor
// Stampa tutti gli altri numeri, ciascuno su una riga separata

?>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore PHP online