[关闭]
@Chiang 2020-01-13T15:01:12.000000Z 字数 560 阅读 480

do-while

PHP-流程控制


do-while 循环和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和一般的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在一般的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。

do-while 循环只有一种语法:

  1. <?php
  2. $i = 0;
  3. do {
  4. echo $i;
  5. } while ($i > 0);
  6. ?>
  • 以上循环将正好运行一次,因为经过第一次循环后,当检查表达式的真值时,其值为 FALSE($i 不大于 0)而导致循环终止。
  • 资深的 C 语言用户可能熟悉另一种不同的 do-while 循环用法,把语句放在 do-while(0) 之中,在循环内部用 break 语句来结束执行循环。以下代码片段示范了此方法:
  1. <?php
  2. do {
  3. if ($i < 5) {
  4. echo "i is not big enough";
  5. break;
  6. }
  7. $i *= $factor;
  8. if ($i < $minimum_limit) {
  9. break;
  10. }
  11. echo "i is ok";
  12. /* process i */
  13. } while(0);
  14. ?>

如果还不能立刻理解也不用担心。即使不用此“特性”也照样可以写出强大的代码来。自 PHP 5.3.0 起,还可以使用 goto 来跳出循环。

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