PHP8 continue

2023-08-18 13:36 更新

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

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

注意: 在 PHP 中 switch 語(yǔ)句被認(rèn)為是可以使用 continue 的一種循環(huán)結(jié)構(gòu)。 continue 的行為類(lèi)似于沒(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 在 switch 中 continue 語(yǔ)句試圖代替 break 語(yǔ)句將會(huì)觸發(fā) E_WARNING 。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)