内容:continue,对就是你知道的那个continue。
更新日期:2020年09月11日
@IGNORECHANGE
“Note: In PHP the switch statement is considered a looping structure for the purposes of continue. continue behaves like break (when no arguments are passed). If a switch is inside a loop, continue 2 will continue with the next iteration of the outer loop.”
意思是:在PHP中,switch 语句被认为是可以使用 continue 的一种循环结构。如果continue没有参数,那它和break一样。如果switch在循环中,continue 2将继续外层循环的下一轮。
continue 后面可以跟一个可选的数字。数字的含义标识要跳过几层循环。默认为 1。Demo:
<?php $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"; } // 下面是输出: // Outer<br /> // Middle<br /> // Inner<br /> // Outer<br /> // Middle<br /> // Inner<br /> // Outer<br /> // Middle<br /> // Inner<br /> // Outer<br /> // Middle<br /> // Inner<br /> // Outer<br /> // Middle<br /> // Inner<br />
continue 后面的分号(;)不能省略:
<?php for ($i = 0; $i < 5; ++$i) { if ($i == 2) continue print "$i\n"; } // 该Demo只会产生错误,属于 E_COMPILE_ERROR 错误。 // 但是低于5.4.0的版本,会输出 2 !!!!!
更新记录
Version Description
5.4.0 continue 0; 是无效的。而以前的版本被当作continue 1;处理。
5.4.0 不再支持参数传值(e.g., $num = 2; continue $num;)。
5.4.0 continue 0; 是无效的。而以前的版本被当作continue 1;处理。
5.4.0 不再支持参数传值(e.g., $num = 2; continue $num;)。