do..while 是重复叙述的循环,可以分成两种模式。
最单纯的就是只有 while 的循环。用来在指定的条件内,不断地重覆指定的步骤。语法如下
while (expr) {
statement
}
其中的 expr 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
下例很有趣,要电脑的浏览器出现十次 "以后不敢了" 的字符串,前面并加上数字,表示说了第几次不敢了。(感觉好像是 Web Server 做错事被处罚)
<?php $i = 1; while ($i <= 10) { print $i++; echo ". 以后不敢了<br>\n"; } ?>
while 可以不用大括号来包住执行部分,而使用冒号加上 endwhile。见下例
<?php $i = 1; while ($i <= 10): print $i++; echo ". 以后不敢了<br>\n"; endwhile; ?>
另外一种 do..while 循环则先执行,再判断是否要继续执行,也就是说循环至少执行一次,有点像是先斩后奏的方法。这种的循环,和单用 while 是不同的 (单用 while 是先判断再处理)。若读者熟 Pascal 语言的话,会发现 do..while 循环像是 Pascal 的 repeat..until 循环。
do..whilte 的语法如下
do {
statement
} while (expr);
|