[关闭]
@Chiang 2020-01-13T16:13:48.000000Z 字数 648 阅读 539

continue

PHP-流程控制


  • continue 在循环结构用来跳过本次循环中剩余的代码并在条件求值为真时开始执行下一次循环。
  • Note: 注意在 PHP 中 switch 语句被认为是可以使用 continue 的一种循环结构。
  • continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。默认值是 1,即跳到当前循环末尾。
  1. <?php
  2. while (list ($key, $value) = each($arr)) {
  3. if (!($key % 2)) { // skip odd members
  4. continue;
  5. }
  6. do_something_odd($value);
  7. }
  8. $i = 0;
  9. while ($i++ < 5) {
  10. echo "Outer<br />\n";
  11. while (1) {
  12. echo "Middle<br />\n";
  13. while (1) {
  14. echo "Inner<br />\n";
  15. continue 3;
  16. }
  17. echo "This never gets output.<br />\n";
  18. }
  19. echo "Neither does this.<br />\n";
  20. }
  21. ?>

省略 continue 后面的分号会导致混淆。以下例子示意了不应该这样做。

  1. <?php
  2. for ($i = 0; $i < 5; ++$i) {
  3. if ($i == 2)
  4. continue
  5. print "$i\n";
  6. }
  7. ?>

希望得到的结果是:

  1. 0
  2. 1
  3. 3
  4. 4

可实际的输出是:

  1. 2

因为整个 continue print "$i\n"; 被当做单一的表达式而求值,所以 print 函数只有在 $i == 2 为真时才被调用(print 的值被当成了上述的可选数字参数而传递给了 continue)。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注