PHP Manual
后退 | 章 16. 流程控制 | 前进

# do..while

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

do..while 循环只有一种语法：

`<?php $i = 0; do { print $i; } while ($i > 0); ?>`

以上循环将正好运行一次，因为经过第一次循环后，当检查表达式的真值时，其值为 `FALSE`（$i 不大于 0）而导致循环终止。

资深的 C 语言用户可能熟悉另一种不同的 do..while 循环用法，把语句放在 do..while(0) 之中，在循环内部用 break 语句来结束执行循环。以下代码片段示范了此方法：

`<?php do { if ($i < 5) { print "i is not big enough"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } print "i is ok"; /* process i */ } while(0); ?>`

如果你还不能立刻理解也不用担心。即使不用此“特性”你也照样可以写出强大的代码来。

后退 | 起点 | 前进
while | 上一级 | for