W3docs

continue

La parola chiave "continue" in PHP è una struttura di controllo che permette di saltare all'iterazione successiva di un ciclo quando una condizione è soddisfatta.

La parola chiave PHP "continue": Guida completa

Da sviluppatore PHP, potresti aver usato i cicli per iterare su array o svolgere altre operazioni. La parola chiave continue è una struttura di controllo in PHP che salta immediatamente all'iterazione successiva quando una condizione specificata è soddisfatta. In questo articolo esploreremo la sintassi e l'utilizzo della parola chiave continue in profondità, fornendo numerosi esempi per aiutarti a padroneggiare questa importante funzionalità di PHP.

Sintassi

La parola chiave continue viene utilizzata per saltare l'iterazione corrente e passare alla successiva in PHP. Di seguito è riportata la sintassi di base per utilizzare continue in PHP:

Sintassi di PHP continue

continue;

In questo esempio, la parola chiave continue salta l'iterazione corrente e passa alla successiva.

Esempi

Vediamo alcuni esempi pratici di come è possibile utilizzare la parola chiave "continue":

Esempi di PHP continue

<?php

// Example 1
for ($i = 0; $i < 10; $i++) {
  if ($i == 5) {
    continue;
  }
  echo $i . PHP_EOL;
}

// Output: 0 1 2 3 4 6 7 8 9

// Example 2
$myArray = ["apple", "banana", "cherry", "date"];
foreach ($myArray as $value) {
  if ($value == "cherry") {
    continue;
  }
  echo $value . PHP_EOL;
}

// Output: apple banana date

In questi esempi, la parola chiave continue ignora iterazioni specifiche quando una condizione è soddisfatta.

Utilizzo avanzato e confronto

Saltare cicli annidati

Per impostazione predefinita, continue influisce solo sul ciclo più interno. Per saltare le iterazioni di un ciclo esterno, è possibile passare un argomento numerico opzionale che indica a PHP a quanti livelli di ciclo applicare il continue:

<?php

for ($i = 1; $i <= 3; $i++) {
  for ($j = 1; $j <= 3; $j++) {
    if ($j == 2) {
      continue 2; // skip to the next iteration of the OUTER loop
    }
    echo "i=$i, j=$j" . PHP_EOL;
  }
}

// Output:
// i=1, j=1
// i=2, j=1
// i=3, j=1

Poiché continue 2 salta all'iterazione successiva del ciclo esterno, il ciclo interno non raggiunge mai $j == 3. Un semplice continue (o continue 1) salterebbe solo l'iterazione interna corrente e il ciclo interno stamperebbe comunque j=3.

continue vs break

I principianti spesso confondono queste due strutture di controllo. Mentre continue salta l'iterazione corrente e passa alla successiva, break termina immediatamente l'intero ciclo. Usa continue per filtrare gli elementi all'interno di un ciclo e break per uscire anticipatamente una volta ottenuto ciò di cui hai bisogno.

<?php

foreach ([1, 2, 3, 4, 5] as $n) {
  if ($n == 3) {
    continue; // skip 3, keep looping
  }
  echo $n . PHP_EOL;
}
// Output: 1 2 4 5

foreach ([1, 2, 3, 4, 5] as $n) {
  if ($n == 3) {
    break;    // stop the loop at 3
  }
  echo $n . PHP_EOL;
}
// Output: 1 2

Un errore comune: continue dentro switch

All'interno di un'istruzione switch, continue si comporta come break e termina solo lo switch. PHP emette persino un avviso. Quando ci si trova all'interno di un ciclo e di uno switch e si vuole saltare l'iterazione del ciclo, bisogna usare continue 2:

<?php

foreach (["save", "skip", "delete"] as $action) {
  switch ($action) {
    case "skip":
      continue 2; // skip this loop iteration, not just the switch
    default:
      echo "Handling: $action" . PHP_EOL;
  }
}

// Output:
// Handling: save
// Handling: delete

Vantaggi

L'utilizzo della parola chiave continue offre diversi vantaggi, tra cui:

  • Maggiore efficienza del codice: aiuta a ignorare iterazioni non necessarie, rendendo il codice più efficiente.
  • Logica semplificata: consente di gestire il filtraggio condizionale direttamente all'interno del ciclo, riducendo la necessità di blocchi if-else annidati e complessi.

Conclusione

In conclusione, la parola chiave continue è uno strumento potente per gli sviluppatori PHP, che consente di saltare iterazioni specifiche del ciclo e migliorare l'efficienza e la leggibilità del codice. Ricorda che funziona con tutti i tipi di ciclo — for, foreach, while e do...while — e che l'argomento di livello opzionale (continue 2) è ciò che permette di raggiungere i cicli annidati.

Argomenti correlati

Esercitazione

Pratica
Qual è lo scopo dell'istruzione 'continue' in PHP?
Qual è lo scopo dell'istruzione 'continue' in PHP?
Was this page helpful?