循环结构
计算机最擅长的功能之一就是按照规定的条件,重复执行某些操作。循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。
循环结构可以看成是一个条件判断语句和一个向回转语句的组合,其特点是在给定条件成立时,反复执行某程序段,知道条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体,在PHP中提供while循环、do-while循环和for循环三种。
特别注意在循环体内用包含趋于结束的语句,否则就可能成为死循环。
在PHP中提供了两种类型的循环语句:
(1)一种是计数循环语句,通常使用for循环语句完成;
(2)另一种是条件性循环语句,通常使用white或do-while循环语句完成。
1、while语句
while语句也称为while循环,是PHP中最简单的循环乐行。与if语句相同,while语句也需要设定一个布尔型条件,当条件为真时,它不断地执行一个语句块,知道条件为假为止。if语句只执行后续代码一次,而while循环中只要条件为真就会不断地执行后续代码。while循环通常用于控制循环次数未知的循环结构。
while(表达式){
语言块;
}
其中while语句中的表达式的计算结果一定要是布尔型值,如果是其他类型的值也会自动转换为布尔类型值。通常这个表达式是使用比较运算符或者逻辑运算符计算后的值。
程序执行到while语句后,可能会出现的事件:
(1)计算表达式的值,确定是TRUE还是FALSE。
(2)如果表达式为FALSE,while语句将结束,然后执行while语句之后的语句,有时候如果while表达式的值一开始就是FALSE,则循环语句一次都不会执行。
(3)如果表达式为TRUE,则执行while语句控制的语句块。
(4)返回到第1步执行。
while语句和if语句一样也可以多层嵌套,通常是在对有矩阵形式的输出时使用。在使用多层嵌套时如果没有必要,最好不要超过三层以上的嵌套。
2、do-while循环
do-while循环和while循环非常类似,区别在于表达式的值是在每次执行结束时而不是开始时检查。do-while的循环保证会执行一次,因为表达式的真值在每次循环结束检查。
do{
语句块;
}while(表达式);
程序执行到do-while语句后,将发生以下事件:
(1)执行do-while语句控制的语句块。
(2)计算表达式的值,确定是TRUE还是FALSE,如果是真则返回到第1步执行,否则循环结束。
do-while循环与while和for循环相比,在PHP中使用的很少,它最适合循环中的语句至少必须执行一次的情况。
3、for语句
for循环语句适用于明确知道重复执行次数的情况,for语句将循环次数的变量在for语句中预先定义好。
for(初始化; 条件表达式; 增量){
语句块;
}
for语句是由分号分隔的三个部分,其中的初始化、条件表达式和增量都收表达式。初始化总是一个复制语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量,每循环一次后按什么方式变化。
程序执行到for语句时,将发生以下事件:
(1)第一次进入for循环时,对循环控制变量赋初值。
(2)根据判断条件的内容检查是否要继续执行玄幻,如果判断条件为真则继续执行循环,否则结束。
(3)执行完循环体内的语句后,系统会根据循环控制变量增减方式,更改循环控制变量的值,在回到步骤2重新判断是否继续执行循环。