PHP循环控制语句

循环语句的作用就是在条件满足的情况下,可以执行多次相同或相似的任务,PHP中的循环语句包括for、while、do-while和foreach语句结构,下面分别介绍。

for语句

for语句结构一般用于执行确定循环次数的操作,其条件包括三个部分,如

for(<初始化循环控制变量>; <循环执行条件>; <控制变量的变化>)  
{  
    <语句块>  
}

如下面的代码,其功能是计算1到100的和。

$sum = 0;  
for($i=1; $i<=100; $i++)  
{  
    $sum += $i;  
}  
echo $sum; // 显示5050

下面的代码会计算1到100中偶数的和。

$sum = 0;  
for($i=2; $i<=100; $i+=2)  
{  
    $sum += $i;  
}  
echo $sum; // 显示2550

while语句

while语句结构会根据指定的条件来执行循环操作,其一般使用格式如下。

while(<条件>)  
{  
    <语句块>  
}

当<条件>满足时,会执行<语句块>,当<条件>不满足时会退出循环结构。如下面的代码,其功能是同样是计算1到100的和。

$sum = 0;  
$i = 1;  
while($i<=100)  
{  
$sum += $i;  
    $i++;  
}  
echo $sum; // 显示 5050

do-while语句

do-while语句结构与while语句结构的功能相似,只不过判断的条件放在了循环操作的后面,也就是说do-while循环至少会执行一次。其基本应用格式如下。

do  
{  
    <语句块>  
}while(<条件>)

我们同样使用这个语句来完成1到100累加的计算,如下面的代码。

$sum = 0;  
$i = 1;  
do  
{  
    $sum += $i;  
    $i++;  
}while($i<=100);  
echo $sum; // 显示 5050

使用do-while语句结构时应注意,由于循环最少会执行一次,所以,必须保证在第一次执行循环时不会出现异常,否则,还是使用while语句结构比较安全。

循环中的break和continue语句

在switch语句结构中,我们已经了解了一些break语句的作用,在那里,它的作用就是终止switch语句结构,而在循环语句中,无论是for、while,还是do-while语句结构,我们都可以使用break语句,它的作用就是终止当前的循环结构。

在循环语句结构中,另一个需要注意的是continue语句,它的作用是终止本次循环的执行,而继续执行下一次循环(如果条件为true的话)。如下面的代码,我们将使用continue语句来实现1到100中偶数的累加计算。

$sum = 0;  
for($i=1; $i<=100; $i++)  
{  
    if($i%2 != 0) continue;  
    $sum += $i;  
}  
echo '1到100中偶数的和是',$sum;

前面,我们看到的是break和continue语句最基本的应用,在多重循环中,我们还可以使用break和continue语句执行更精确地控制,其中有两种基本用法:

  • break n或continue n。其中,n是一个整数,用于指示终止第几层循环,而n为1时,其效果与单独使用break和continue语句的效果是一样的。
  • break <变量>或continue <变量>。其中,<变量>是指循环控制变量,也就是指定break和continue语句终止的是哪一个控制变量所在的循环结构。

foreach

foreach语句又可以称为迭代语句结构,它并不是按条件来执行,而是逐一访问对象中的所有成员,我们可以在结构中对这些成员进行相同或相似的操作,如数组成员的访问,下面的代码将显示数组中每一个成员。

$arr = array(1,2,3);  
foreach($arr as $value)  
{  
    echo $value,'<br>';  
}

代码显示结果如下图。

PHP循环控制语句

像数组这样可以使用foreach语句访问的对象,是一种叫作“迭代器”的结构实现的,在我们创建类型中,如果需要使用foreach语句访问,可以让其实现Iterator接口,这个接口的成员包括:

  • rewind()方法,指向第一个成员。
  • current()方法,返回当前成员。
  • key()方法,当前成员的键(或索引)。
  • next()方法,指向下一个成员,此操作前应使用valid()方法进行判断。
  • valid()方法,返回bool类型,判断是否还有下一个成员。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程