1. 循环控制语句
循环控制语句是能够按照一定的条件重复执行某段功能代码的代码结构; 循环控制语句分为以下4种:
- while 循环语句
- do-while 循环语句
- for 循环语句
- foreach 循环语句
其中,while 循环在代码运行的开始检查表述的真假;而 do-while 循环则在代码运行的末尾检查表述的真假,这样,do-while 循环至少要运行一遍;
2. while 循环控制语句
while 循环语句是PHP中最简单的循环控制语句,while 循环语句根据某一条件进行判断,根据判断结果决定是否执行循环; while 循环语句的语法格式为:
<?php
while (expr)
{
statement;
}
当条件为表达式 expr 的值为TRUE时,将执行语句块 statement 的内容,执行结束后,再返回表达式 expr 继续进行判断,直到表达式expr的值为FALSE,才跳出循环,执行大括号后的语句, while循环语句流程图如下所示: 例子 1: while 循环语句的应用:
<?php
$a=1;
echo "输出120以内的整数:";
while ($a<=120)
{
echo $a."\r\n";
$a++;
}
执行结果如下图所示:
上面的代码用来输出120以内的整数,变量$a 的初始值为1,循环语句判断变量$a 的值,若小于或等于120,输出变量$a 的值,并对$a 加1,继续下一次循环,直到$a 的值大于120才结束循环; 例子 2: 使用while循环语句输出20以内的偶数
<?php
$a=1;
$num="输出20以内的奇数";
while ($a<=20)
{
if($a%2==0)
{
echo $a."\r\n";
}
$a++;
}
?>
执行结果如下所示:
2. do-while 循环语句
while 循环语句还有另外一种表达形式:do-while ; do-while 循环语句与 while 循环语句相似,唯一的区别在于:do-while 循环语句是在循环的底部检查循环表达式,而while循环语句是在循环的顶部检查循环表达式; do-while 循环语句的语法格式为:
do{
statement;
}
while(expr);
do-while 循环语句先执行 statement 语句,再对表达式进行判断,当表达式为TRUE时,将执行statement语句的内容,直到表达式的值为FALSE,才跳出循环; 所以,do-while循环语句,循环体至少执行一次 ; do-while循环语句的流程图如下所示:
注意: do-while 循环语句是否测试循环,它将条件表达式的判断操作放在循环体语句的下,这就能保证了循环体至少循环会被执行一次; 例子3:
用do-while输出120以内的整数
<?php
$a=1;
echo "输出120以内的整数";
do{
echo $a."\r\n";
$a++;
}while($a<=120);
echo $a;
?>
执行结果如下所示:
例子 4:
<?php
$a=0;
while ($a!=0){
echo "while要执行的内容";
}
do{
echo "do...while要执行的内容";
}while($a!=0);
?>
执行结果如下所示:
上述两种循环语句的对比:$a!=0 的结果是TRUE,所以 while循环体一次也不会被循环,而do-while 循环体因为是执行后判断,所以循环体会被执行一次;
3. for 循环语句
for 循环语句是PHP中最复杂的循环控制语句,for 循环能够按照已知的循环次数进行循环操作,主要应用于多条件的循环操作; 若在单一条件下使用for循环语句,就会有些不合适; for循环语句的语法格式为:
for(expr1;expr2;expr3)
{
statement;
}
expr1为变量赋初始值,expr2为循环条件,即在每次循环开始前求值,若为真,执行statement;否则,跳出循环,继续执行下去;expr3对变量递增或递减,即每次循环后被执行; for循环执行的过程是:先执行初始表达式,expr1(通常是给初始值循环变量赋初始值);然后判断循环条件表达式expr2是否成立,若成立,则执行循环体,否则跳出循环结构; 正常执行完循环体之后,执行计数器表达式expr3(通常是对循环变量进行计数); 转到for循环条件表示式,判断是否继续循环; for循环语句的流程图如下图所示: 例子 5: 用for循环语句输出120以内的整数
<?php
for($a=1;$a<=120;$a++)
{
echo $a."\r\n";
}
?>
执行结果如下所示:
先执行for循环语句中的初始表示式$a=1 ,为变量$a 赋初始值1,并判断变量$a 的值,若满足条件表达式,即小于等于120,则执行循环体中的语句,输出$a 的值; 然后执行计数表达式,对变量$a 加1,再判断变量$a 的值是否满足条件表达式,以决定是否继续下一次循环; 例子 6:
<?php
for ($a=0;$a<=10;$a++)
{
echo "循环体被执行一次<br/>"."\r\n";
}
?>
执行结果如下所示:
上面的代码,为变量$a 赋初值值为0,当$a 的值变成11时,就会被跳出循环结构,for循环会被执行11次; for循环语句非常灵活,在for循环语句中,循环变量可采用递增或递减的方式,但有一个前提,就是要保证循环能够结束; 无期限的循环(死循环)将导致程序崩溃; 例子 7:
<?php
$b=0;
for ($a=120;$a>=1;$a--)
{
$b+=$a;
echo "120以内的整数和为:".$b."\r\n";
}
?>
执行结果如下所示:
4. foreach 循环语句
foreach 循环语句采用对数组或对象中的元素进行遍历操作,如数组中的元素个数未知的情况下,很适合使用foreach; foreach循环语句可根据数据的情况分为两种,即不包括含键值和包含键值的数组; 语法格式如下所示:
foreach(arry_expression as $value){
statement;
}
或
foreach(arry_expression as $key->value){
statement;
}
foreach循环语句键遍历数组 arry_expression,每进行一次循环,将当前数组元素的值赋给数组元素值变量$value ; 同时,数组指针会逐一向后移动,直到遍历结束为止; 当使用foreach循环语句时,数值指针将自动被重置,所以不需要手动设置指针位置; foreach循环语句应用很广泛,最主要功能就是遍历数组, 例子 8:
<?php
$arr=array("one","two","three");
foreach ($arr as $value){
echo "数组值:".$value."<br/>"."\r\n";
}
?>
执行结果如下所示:
上面的代码中,循环中的echo语句会被执行3次,分3行输出数组中的元素;
结束语
若这篇文章有帮你,给个赞,收个藏,欢迎大家留言评论; 若文章有什么错误,欢迎大家指教。
|