Forum und email

continue

A continue ciklusok belsejében használható arra, hogy átugorjuk az aktuális iteráció hátralevő részét, és a végrehajtást a feltételkiértékeléssel, majd a következő iterációval folytassuk.

Note: Megjegyezzük, hogy a PHP-ben a switch utasítást ciklus utasításnak tartjuk, a continue definíciója miatt.

A continue elfogad egy elhagyható szám paramétert, amely megadja, hogy hány egymásba ágyazott struktúrának a hátralévő részét kell átugrani.

<?php
while (list ($kulcs$ertek) = each($tomb)) {
    if (!(
$kulcs 2)) { // a páros indexűek kihagyása
        
continue;
    }
    
valami_paratlan_dolog($ertek);
}

$i 0;
while (
$i++ < 5) {
    echo 
"Külső while<br />\n";
    while (
1) {
        echo 
"&nbsp;&nbsp;Középső while<br />\n";
        while (
1) {
            echo 
"&nbsp;&nbsp;Belső while<br />\n";
            continue 
3;
        }
        echo 
"Ezt soha nem fogja kiírni.<br />\n";
    }
    echo 
"Ezt sem...<br />\n";
}
?>

A pontosvessző elhagyása a continue után zavarhoz vezethet. Íme egy példa arra, hogy milyen helyzet nem kellene előforduljon:

<?php
  
for ($i 0$i 5; ++$i) {
      if (
$i == 2)
          continue
      print 
"$i\n";
  }
?>

Az elvárt eredmény ez lehetne:

0
1
3
4

de a szkript ezt fogja kiírni:

2

mert a print() által visszatérített érték int(1), ami úgy tűnhet, mintha a fent tárgyalt opcionális paraméter lenne.