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
5Nota 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.
Sfida
FacileLeggi due righe di input:
- Un elenco di interi separati da virgole (ad es.,
3,7,12,5,8,20,15) - 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
5Provalo 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
?>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confrontoUguaglianza e identitàOperatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica semplice2Variabili e tipi di dati
NumeriStringhe e virgoletteValori booleaniConvenzioni di denominazioneRiepilogo - Inizializzazione delle variabiliVariabili vuoteConcatenazione di stringheAcquisire input dall'utenteConvertire in tipi diversi5Logica condizionale
Istruzione ifIf - elseL’operatore ternarioOperatore null coalescingIstruzione switchRiepilogo - Prendere decisioni3Operatori di base
Operatori aritmeticiOperatore moduloOperatore di elevamento a potenzaAssegnazione compostaIncremento/decrementoPrecedenza degli operatoriRiepilogo - calcoli sempliciOperatori per stringheEsercitati da solo: Compilatore PHP online