continue

(PHP 4, PHP 5, PHP 7, PHP 8)

continue 在循環(huán)結(jié)構(gòu)用用來(lái)跳過(guò)本次循環(huán)中剩余的代碼并在條件求值為真時(shí)開始執(zhí)行下一次循環(huán)。

注意: 在 PHP 中 switch 語(yǔ)句被認(rèn)為是可以使用 continue 的一種循環(huán)結(jié)構(gòu)。 continue 的行為類似于沒(méi)有傳遞參數(shù)的 break ,但會(huì)引發(fā)警告,因?yàn)檫@可能是一個(gè)錯(cuò)誤。 如果 switch 在循環(huán)內(nèi), continue 2 將會(huì)外部循環(huán)中的下一個(gè)迭代中繼續(xù)。

continue 接受一個(gè)可選的數(shù)字參數(shù)來(lái)決定跳過(guò)幾重循環(huán)到循環(huán)結(jié)尾。默認(rèn)值是 1,即跳到當(dāng)前循環(huán)末尾。

<?php
foreach ($arr as $key => $value) {
    if (!(
$key 2)) { // 忽略偶數(shù)成員
        
continue;
    }
    
do_something_odd($value);
}

$i 0;
while (
$i++ < 5) {
    echo 
"Outer<br />\n";
    while (
1) {
        echo 
"Middle<br />\n";
        while (
1) {
            echo 
"Inner<br />\n";
            continue 
3;
        }
        echo 
"This never gets output.<br />\n";
    }
    echo 
"Neither does this.<br />\n";
}
?>

省略 continue 后面的分號(hào)會(huì)導(dǎo)致混淆。以下例子示意了不應(yīng)該這樣做。

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

希望得到的結(jié)果是:

0
1
3
4

continue 的更新記錄
版本 說(shuō)明
7.3.0 switchcontinue 語(yǔ)句試圖代替 break 語(yǔ)句將會(huì)觸發(fā) E_WARNING