循环语句的作用就是在条件满足的情况下,可以执行多次相同或相似的任务,PHP中的循环语句包括for、while、do-while和foreach语句结构,下面分别介绍。
for语句
for语句结构一般用于执行确定循环次数的操作,其条件包括三个部分,如
如下面的代码,其功能是计算1到100的和。
下面的代码会计算1到100中偶数的和。
while语句
while语句结构会根据指定的条件来执行循环操作,其一般使用格式如下。
当<条件>满足时,会执行<语句块>,当<条件>不满足时会退出循环结构。如下面的代码,其功能是同样是计算1到100的和。
do-while语句
do-while语句结构与while语句结构的功能相似,只不过判断的条件放在了循环操作的后面,也就是说do-while循环至少会执行一次。其基本应用格式如下。
我们同样使用这个语句来完成1到100累加的计算,如下面的代码。
使用do-while语句结构时应注意,由于循环最少会执行一次,所以,必须保证在第一次执行循环时不会出现异常,否则,还是使用while语句结构比较安全。
循环中的break和continue语句
在switch语句结构中,我们已经了解了一些break语句的作用,在那里,它的作用就是终止switch语句结构,而在循环语句中,无论是for、while,还是do-while语句结构,我们都可以使用break语句,它的作用就是终止当前的循环结构。
在循环语句结构中,另一个需要注意的是continue语句,它的作用是终止本次循环的执行,而继续执行下一次循环(如果条件为true的话)。如下面的代码,我们将使用continue语句来实现1到100中偶数的累加计算。
前面,我们看到的是break和continue语句最基本的应用,在多重循环中,我们还可以使用break和continue语句执行更精确地控制,其中有两种基本用法:
- break n或continue n。其中,n是一个整数,用于指示终止第几层循环,而n为1时,其效果与单独使用break和continue语句的效果是一样的。
- break <变量>或continue <变量>。其中,<变量>是指循环控制变量,也就是指定break和continue语句终止的是哪一个控制变量所在的循环结构。
foreach
foreach语句又可以称为迭代语句结构,它并不是按条件来执行,而是逐一访问对象中的所有成员,我们可以在结构中对这些成员进行相同或相似的操作,如数组成员的访问,下面的代码将显示数组中每一个成员。
代码显示结果如下图。
像数组这样可以使用foreach语句访问的对象,是一种叫作“迭代器”的结构实现的,在我们创建类型中,如果需要使用foreach语句访问,可以让其实现Iterator接口,这个接口的成员包括:
- rewind()方法,指向第一个成员。
- current()方法,返回当前成员。
- key()方法,当前成员的键(或索引)。
- next()方法,指向下一个成员,此操作前应使用valid()方法进行判断。
- valid()方法,返回bool类型,判断是否还有下一个成员。