> 백엔드 개발 > PHP 튜토리얼 > 중단 및 계속을 제어하기 위한 PHP 루프 문의 사용 예

중단 및 계속을 제어하기 위한 PHP 루프 문의 사용 예

WBOY
풀어 주다: 2016-07-25 08:57:57
원래의
1499명이 탐색했습니다.
本文介绍下,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的循环体。
?>
로그인 후 복사

如果给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 '‘;
}
}
?>
로그인 후 복사

代码说明: $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.'‘;
}
?>
로그인 후 복사

代码说明: 如果没有在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 '
‘;
}
로그인 후 복사

代码说明: 输出结果:$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的别名,它们的作用一样,都是结束对整个脚本的执行,经常用在像把数据录入数据库时、判断某个文件是否存在等场合。



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿