PHP的do-while循环
天下维客,你可以修改的网络知识库
| PHP的控制流程语句 | PHP的for循环 | PHP的while循环 | PHP的do-while循环 | PHP的foreach循环 |
do-while是一个至少执行一次的循环过程,这与for、while有所差别。利用这个特性,可实现PHP中所缺少的GOTO语句的大部分功能(见后文描述)。
<?php do { statement } while (expr);
在 do-while 循环中,首先执行一次循环体 statement, 然后检查表达式expr(转换为布尔型)的值:为TRUE时继续执行statement、再次检查……直到FALSE时结束循环。
举例如下:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
以上循环将正好运行一次:do-while至少执行一次,在这里第一次循环后表达式为false,从而结束了循环。
[编辑]
一种用do-while实现的复杂跳转
在PHP中没有GOTO功能,有时会感到不很方便。这里介绍一种用do-while实现多分支跳转到同一个地方的技巧,举例如下:
<?php do { if ($i < 5) { echo "branch < 5"; break; } if ($i < 10) { echo "branch < 10"; break; } …(略)… } while(0); ?>
这里,用do{...}while(0)实现了循环体部分的单次执行,每个break语句都将跳到循环之外。上面这个例子也可以用if...else...结构嵌套来实现,但当分支很多的时候if/else的嵌套将显得比较烦琐。


