前言
从上一篇文章《【web 开发基础】PHP 循环结构之 while 循环 -PHP 快速入门 (17)》中我们对循环结构有了大致的认识,还介绍了while循环并使用while实现一些简单的案例。我们本文所涉及的do...while结构,也有一个while,那他们是一个东西吗,怎么去使用呢?加了do又有哪些不同呢?接下来咱们一一解开迷惑。
do...while循环结构
其实do..while循环和while循环结构非常相似,区别在于表达式的值是在每次循环结束是而不是开始时检查.和正规的while循环的主要区别是:do...while循环语句不管表达式条件是否成立,都会保证执行一次,因为表达式的真值在每次循环结束后检查.然而在正规的while循环中就不一定了,表达式的值在循环开始时检查,如果一开始就为false,则整个循环立即终止.do...while语句格式如果
do{
语句块;//循环体
}while(判断表达式);
其中while语句中"表达式"的计算结构也一定要是布尔类型的true值或false值。“语句块”也可以是一条语句或多条语句(复合语句块或代码块)。当do...while语句控制执行一条语句时,也可以不加花括号"{}",但是为避免出错,建议养成好习惯,尽量每次都写上花括号"{}",这样也提高了代码的可读性。使用do...while循环时最后一定要有一个分号作为结束符,分号是do...while语法的一部分。程序执行到do...while语句后,将发生以下事件:
- 执行do...while语句控制的语句块
- 计算表达式的值,确定是true还是false。如果为真,则返回到第1步执行,否则循环结束。
下面我们通过例子来具体了解do...while的用法
编程实践
<?php
$i = 0;
do{
echo "\$i当前的值为:" . $i;
}while($i>0); //代码中$i=0;表达式不成立,退出循环
执行结果:
从上面例子我们可以看到循环正好运行一次,因为经过第一次循环后,当检查表达式的值时,其值为false($i不大于0),从而导致循环终止。从例子可以看出不管条件是否成立,在do里面的语句块都会执行一次
do...while循环与while和for循环相比,在PHP中使用得较少,它是最适合循环中的语句至少必须执行一次的情况.当然,也可以使用while循环完成同样的工作,只不过使用do...while循环更为简单。