计算机程序最擅长的功能之一就是按规定的条件,重复执行某些操作。循环结构可以减少源程序重复书写的工作量,即在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体,在PHP中提供while
循环、do-while
循环和for
循环三种。
while循环
while
循环需要设定一个布尔型条件,当条件为真时,它不断地执行一个语句块,直到条件为假为止。程序执行到while
语句后,会进行如下操作:
- 计算表达式的值,确定是
TRUE
还是FALSE
。 - 如果表达式为
FALSE
,while
语句将结束,然后执行while
语句之后的语句。 - 如果表达式为
TRUE
,则执行while
语句花括号中的代码块,然后返回到第1步执行。
Demo
<html>
<head><title>使用while循环嵌套输出表格</title></head>
<body>
<table style="align: center;width:600px" border="1">
<?php
$out = 0;
while( $out < 10 ) {
$bgcolor = $out%2 == 0 ? "#FFFFFF" : "#DDDDDD";
echo "<tr style='background-color:".$bgcolor."'>"; //指定行的背景颜色
$in = 0;
while( $in < 10 ) {
echo "<td>".($out*10+$in)."</td>"; //执行一次,输出一个单元格
$in++;
}
echo "</tr>";
$out++;
}
?>
</table>
</body>
</html>
do...while循环
do...while
和while
循环非常相似,区别在于表达式的值是在每次循环结束时检查。do...while
的循环语句必定会执行一次,因为表达式的结果值在每次循环结束后检查。
Demo
<?php
$count = 0;
do {
echo $count;
$count++;
}
while ($count < 10);
?>
for循环
for
循环语句适用于明确知道重复执行次数的情况,即for
语句将循环次数的变量在for
语句中预先定义好。for
语句由分号分隔成三个部分,即循环变量初始化、条件表达式和循环变量自增长或者自减少。初始化是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量,每循环一次后按什么方式变化。。程序执行到for
语句时,会进行如下操作:
- 第一次进入
for
循环时,对循环控制变量赋初值。 - 根据判断条件的结果决定是否要继续执行循环,如果判断条件为真,则继续执行循环;如条件为假,则结束循环执行下面的语句。
- 执行完循环体内的语句后,系统会根据循环控制变量增减方式,更改循环控制变量的值,再回到步骤2重新判断是否继续执行循环。
Demo
<?php
for( $i = 1; $i <= 10; $i++ )
echo "这是第<b> $i </b>次循环执行输出的结果<br>";
?>