当前位置:Gxlcms > PHP教程 > php--while/do-while

php--while/do-while

时间:2021-07-01 10:21:17 帮助过:29人阅读

while

(PHP 4, PHP 5)

while 循环是 PHP 中最简单的循环类型。它和 C 语言中的 while 表现地一样。while 语句的基本格式是:

  1. while (expr)
  2. statement

while 语句的含意很简单,它告诉 PHP 只要 while 表达式的值为 TRUE 就重复执行嵌套中的循环语句。表达式的值在每次开始循环时检查,所以即使这个值在循环语句中改变了,语句也不会停止执行,直到本次循环结束。有时候如果 while 表达式的值一开始就是 FALSE,则循环语句一次都不会执行。

和 if 语句一样,可以在 while 循环中用花括号括起一个语句组,或者用替代语法:

  1. while (expr):
  2. statement
  3. ...
  4. endwhile;

下面两个例子完全一样,都显示数字 1 到 10:

  1. <?php
  2. /* example 1 */
  3. $i = 1;
  4. while ($i <= 10) {
  5. echo $i++; /* the printed value would be
  6. $i before the increment
  7. (post-increment) */
  8. }
  9. /* example 2 */
  10. $i = 1;
  11. while ($i <= 10):
  12. print $i;
  13. $i++;
  14. endwhile;
  15. ?>

do-while

(PHP 4, PHP 5)

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 来跳出循环。

人气教程排行