while 与do...while语句
PHP 循环 - While 循环
循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。
PHP 循环
在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。
在 PHP 中,提供了下列循环语句:
· while - 只要指定的条件成立,则循环执行代码块
· do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
· for - 循环执行代码块指定的次数
· foreach - 根据数组中每个元素来循环代码块
while 循环
while 循环将重复执行代码块,直到指定的条件不成立。
语法
while (条件)
{
要执行的代码;
}
实例
下面的实例首先设置变量 i 的值为 1 ($i=1;)。
然后,只要 i 小于或者等于 5,while 循环将继续运行。循环每运行一次,i 就会递增 1:
<html> <body> <?php $i=1; while($i<=5) { echo "The number is " . $i . "<br>"; $i++; } ?> </body> </html>
输出:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
do...while 语句
do...while 语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。
语法
do { 要执行的代码; } while (条件);
实例
下面的实例首先设置变量 i 的值为 1 ($i=1;)。
然后,开始 do...while 循环。循环将变量 i 的值递增 1,然后输出。先检查条件(i 小于或者等于 5),只要 i 小于或者等于 5,循环将继续运行:
<html> <body> <?php $i=1; do { $i++; echo "The number is " . $i . "<br>"; } while ($i<=5); ?> </body> </html>
输出:
The number is 2
The number is 3
The number is 4
The number is 5
The number is 6
那我们现在要写一个0-99的隔行变色的表格。
定义初始值,输出表格标签 和 表格中的列标签
<?php //定义循环的初始值 $i=0; echo '<table width="800" border="1">'; while($i<100){ //输出列0-99的列了 echo '<td>'.$i.'</td>'; //一定要加哟,不然死循环了 $i++; } echo '</table>'; ?>
2.加上行产生的逻辑
<?php $i=0; echo '<table width="800" border="1">'; while($i<100){ //0 - 9 为一行 //10 -19 为一行 //因此,每一行都能够被10求默,如为为10的时候,应该显示行开始的标签 if($i%10 == 0){ //为了隔行变色,每20,40,60每行的颜色是PHP学院的,因此我们又可以再进行一次取余运算 if($i%20==0){ echo '<tr>'; }else{ echo '<tr bgcolor="pink">'; } } echo '<td>'.$i.'</td>'; $i++; //同理,每一行结束是不是应该有一个</tr>结束标签呢? if($i%10==0){ echo '</tr>'; } } echo '</table>'; ?>
注:不要写死循环(没有退出条件的循环)
whie(1){
echo 1111.'<br />';
}
do...while 语句
do-while 和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。
do-while 循环只有一种语法: <?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
以上循环将正好运行一次,因为经过第一次循环后,当检查表达式的真值时,其值为 FALSE($i 不大于 0)而导致循环终止。
Do While 循环语句与while有一定的区别,它们的区别就是do while不管条件是否为真都会先执行一下,而while必须为真才会执行一次.