while (list ($key, $value) = each($arr)) {
if (!($key % 2)) { // skip odd members
continue;
}
do_something_odd($value);
}
$i = 0;
while ($i++ < 5) {
echo "Outer
\n";
while (1) {
echo "Middle
\n";
while (1) {
echo "Inner
\n";
continue 3;
}
echo "This never gets output.
\n";
}
echo "Neither does this.
\n";
}
?>
省略 continue 后面的分号会导致混淆。以下例子示意了不应该这样做。
希望得到的结果是:
0
1
3
4
但是结果是
2
因为整个 continue print "$i\n"; 被当做单一的表达式而求值,所以 print 函数只有在 $i == 2 为真时才被调用(print 的值被当成了上述的可选数字参数而传递给了 continue)。
break
break 结束当前 for,foreach,while,do-while 或者 switch 结构的执行。 break 也可以接受一个可选的数字参数来决定跳出几重循环,默认是1,即跳出当前循环。