## *do-while*
(PHP 4, PHP 5, PHP 7)
*do-while* 循环和 *while* 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和一般的 *while* 循环主要的区别是 *do-while* 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在一般的 *while* 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 **`FALSE**` 则整个循环立即终止)。
*do-while* 循环只有一种语法:
```
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
```
以上循环将正好运行一次,因为经过第一次循环后,当检查表达式的真值时,其值为 **`FALSE**`($i 不大于 0)而导致循环终止。
资深的 C 语言用户可能熟悉另一种不同的 *do-while* 循环用法,把语句放在 *do-while*(0) 之中,在循环内部用 [*break*](http://php.net/manual/zh/control-structures.break.php) 语句来结束执行循环。以下代码片段示范了此方法:
```
<?php
do {
if ($i < 5) {
echo "i is not big enough";
break;
}
$i *= $factor;
if ($i < $minimum_limit) {
break;
}
echo "i is ok";
/* process i */
} while(0);
?>
```
- 序言
- 简介
- PHP是什么?
- PHP能做什么?
- 基本语法
- 类型
- boolean(布尔型)
- integer(整型)
- float(浮点型)
- string(字符串)
- array(数组)
- object(对象)
- callable(可调用)
- resource(资源)
- NULL(无类型)
- 伪类型
- 类型转换的判别
- 变量
- 基础
- 预定义变量
- 变量范围
- 可变变量
- 来自PHP之外的变量
- 常量
- 语法
- 魔术常量
- 表达式
- 运算符
- 运算符优先级
- 算术运算符
- 赋值运算符
- 位运算符
- 比较运算符
- 错误控制运算符
- 执行运算符
- 递增/递减运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 类型运算符
- 流程控制
- if
- else
- elseif/else if
- 流程控制的替代语法
- while
- do-whille
- for
- foreach
- break
- continue
- switch
- declare
- return
- require
- include
- require_once
- include_once
- goto
- 函数
- 用户自定义函数
- 函数的参数
- 返回值
- 可变函数
- 内部 (内置)函数
- 匿名函数
- 类与对象
- 简介
- 基本概念
- 属性
- 类的自动加载
- 构造函数
- 访问控制(可见性)