Heim > Backend-Entwicklung > PHP-Tutorial > php循环语句控制break与continue的用法举例

php循环语句控制break与continue的用法举例

WBOY
Freigeben: 2016-07-25 08:57:57
Original
1517 Leute haben es durchsucht
本文介绍下,php中用于跳出循环break,以及跳过某层循环continue的具体用法,有需要的朋友参考下。

本文带领大家了解break和continue的使用,及它们在循环语句中的作用。

1、break (int); 语句 //break的作用为退出循环体,当break后面加上数字时,表示退出第几层的循环。 多用在while、do…while、for、foreach、switch语句中。

例子:

<?php
/**
* break 退出循环
* edit by bbs.it-home.org
*/

$i = 1;
while(true){
echo “PHP视频教程”.$i;
$i++;
if($i==10){
break;
}
}//当循环语句的$i数字自增到10时就执行break语句,直接跳出了while的循环体。
?>
Nach dem Login kopieren

如果给break后面加数字时,循环语句的执行过程则有所改变。

例子:

<?php
/**
* break 退出循环的例子
* edit by bbs.it-home.org
*/

while($i++<10){
echo '$i='.$i;
while($j++<5){
if($j==2){
break 2;//跳出两层循环代码的执行。
}
echo '  $j='.$j;
}
echo '‘;
}
}
?>
Nach dem Login kopieren

代码说明: $i=1 $j=1就结束循环了。 进行第一次循 环时,当$i=1时开始执行循环体第一层while的代码,顺着输出$i=1,进入了第二层while循环,经过if判断,$j不等于2,不执行if体里 的break 2;这一语句 块,转而执行输出语句输出$j=1然后再进行第二层循环的第二次判断,这时$j=2就执行了if体里的break 2;

注:这里的break后面是数字2表明是退出两层循环体代码,即第一层和第二层的循环体都跳出不再进行判断循环,这样就产生了上面的输出结 果:$i=1 $j=1。

2、continue (int); 语句 //continue语句和break语句执行结果相似,continue是跳过几层循环,忽略跳循环体里的代码段,直接执行到循环体结尾进行下一次的循环,和break语句一样也可以使用在 while、do…while、for、foreach、switch语句中。

例子:

<?php
/**
* 跳过循环 continue
* edit by bbs.it-home.org
*/

while($i++<5){
if(++$j==2){
continue;
}
echo '$i='.$i.'‘;
}
?>
Nach dem Login kopieren

代码说明: 如果没有在while循环体里加入if判断语句,输出的结果是:$i=1 $i=2 $i=3 $i=4;但是加入了if判断语句,输出结果是:$i=1 $i=3 $i=4,这正是continue语句的影响 ,continue语句是跳过了当$j++后得到2后,也就是$j=2时的本次循环将执行continue跳过while循环体语句,直接返回到循环体的尾部(也就是跳到了循环体的头部)继续下 一次的循环运算,当如果continue语句后面加上数字时输出的结果又有新的改变。

例子:

<?php
while(++$a<3){
while(++$b<4){
if($b==2){
continue 2;
}
echo '  $b:'.$b;
}
$b=0;
echo '$a:'.$a;
echo '
‘;
}
Nach dem Login kopieren

代码说明: 输出结果:$b=1 $b=3 $a=2 先执行外层循环,$a=1,条件为“真”,执行第二层循环$b=1,条件也为“真”,经过if判断,为“假”不执行continue语句,执行echo ‘ $b:’.$b; 这条语句,输出的是$b:1 ;然后再里层while的循环,这里$b自增后$b=2,里层的while条件继续为“真”,继续执行里层循环,进入if判断,结果if条件判断为“真” 执行 “continue 2;”这一语句直接跳过了两层循环体的代码来到父循环的尾部(也就是头部),父、子层里的循环体代码都不执行,接着继续判断父层循环条件$a=2小于3成 立, 再次进入里层循环,这时$b=3里层循环条件成立(真),if判断条件为“假”不执行“continue 2;”,执行“echo ‘ $b:’.$b;”语句,输出了$b=3,然后继续判断里层while循环 条件,这里$b=4,循环条件不成 立,结束了里层while循环,执行“$b=0;echo’$a:’.$a;echo’ ‘;”这三条语句后来到外层while循环, 再次进行条件判断,这里$a已经等于3,条件不成立,外层循环也结束了。

注:break与continue的区别,它们都可以在后面加具体数字,但break是当条件成立就退出了跟在它后面的数字决定的几层循环体(如果没有数字就是退出本次循环体),而 continue是跳出当条件成立的跟在它后面的数字决定的几层循环体(如果没有数字就是退出本次循环体),循环体里的代码段一句都不执行,转到循环体的 尾部(即头部) 再继续循环条件判断;

总之,break是退出循环体执行,而continue是 跳过某层符合判断条件语句 的 循环体 的执行,转到 某层循环 继续执行循环体,直到循环条件 不成立 才结束循环语句。

3、exit()和die()语句 die是exit的别名,它们的作用一样,都是结束对整个脚本的执行,经常用在像把数据录入数据库时、判断某个文件是否存在等场合。



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage