PHP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式:

代码:

<?php

$i = 1;
while (true) { // 这里看上去这个循环会一直执行
    if ($i==2) {// 2跳过不显示
        $i++;
        continue;
    } else if ($i==5) {// 但到这里$i=5就跳出循循环了
        break;
    } else {
        echo $i . '<br>';
    }
    $i++;
}
exit;

echo '这里不输出';
?>

结果:

1
3
4

continue

continue 是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃这一 次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。

例如在下面的这段PHP代码片段中:
<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160;  else{
echo”$i \n<br/>”;
}
}
?>

PHP的代码片段的作用是输出100以内,既不能被7整除又不能被3整除的那些自然数,循环中先用if条件语句判断那些能被整除的数,然后执行 continue;语句,就直接进入了下个循环。不会执行下面的输出语句了。

break

break是被用在上面所提的各种循环和switch语句中的。他的作用是跳出当前的语法结构,执行下面的语 句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环。

看下面这个多重循环嵌套的例子:
for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo”$m \n<br/>”;
if($m < 90 || $m > 190) {
break 2;
}
}
}

这里使用了break 2跳出了两重循环,你可以试验一眼,将2去掉,得到的结果是完全不一样的。如果不使用参数,跳出的只是本次循环,第一层循环会继续执行下去。

goto

goto实际上只是一个运算符,和其他语言一样,PHP中也不鼓励滥用goto,滥用goto会导致程序的可读 性严重下降。goto的作用是将程序的执行从当前位置跳转到其他任意位置,goto本身并没有要结束的循环的作用,但其跳转位置的作用使得其可以作为跳出 循环使用。但PHP5.3及以上版本停止了对goto的支持,所以应该尽量避免使用goto。
下面的是一个使用了goto跳出循环的例子
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo “$i”;
}
a:
echo” this is the end”;

例子中使用了goto来跳出循环,这个例子用来检测1000以内,那些数的平方根大于29。

exit

exit是用来结束程序执行的。可以用在任何地方,本身没有跳出循环的含义。exit可以带一个参数,如果参数 是字符串,PHP将会直接把字符串输出,如果参数是integer整形(范围是0-254),那个参数将会被作为结束状态使用。

<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
exit;
}
}
echo”本行将不会被输出”;
?>

上面这个例子中直接在从循环里结束了代码的运行,这样会导致后面的代码都不会被执行,如果是在一个php web 页面里面,甚至连exit后面的html代码都不会被输出。

return

return 语句是用来结束一段代码,并返回一个参数的。可以从一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可 以是在主程序里调用,如果是在函数里调用程序将会马上结束运行并返回参数,如果是include()或者require()语句包含的文件中被调用,程序 执行将会马上返回到调用该文件的程序,而返回值将作为include()或者require()的返回值。而如果是在主程序中调用,那么主程序将会马上停 止执行

<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
return;
}
}
echo”本行将不会被输出”;
?>

这里的例子和上面使用exit的效果是一样的。

在循环结束条件,自然跳出

这个当然是最好理解了,当循环满足循环临界条件时就是自己退出。

以上是PHP中跳出循环的几种方式的简单总结。

转载于:https://www.cnblogs.com/jamescr7/p/8540223.html

解析PHP跳出循环的方法以及continue、break、exit的区别介绍相关推荐

  1. PHP中跳出循环break,continue,return,exit的区别

    1. return 语句的作用 (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行. (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中 ...

  2. php 中continue break exit return 的区别

    php 中的循环有 for foreache while do{} whlie这几种 1 continue continue是用来在循环结构中,控制程序放弃本次循环continue 之后的语句,并转而 ...

  3. continue break return的区别

    1.continue 语句的作用       终止本次循环的执行,即跳过当前一次循环中continue语句后尚未执行的语句,然后进行下一次循环条件的判断. 2.break 语句的作用     (1)当 ...

  4. java里break的使用方法_java中break,continue,return使用方法

    break , continue 和 return 的使用方法: 1.break 的作用 a. 跳出当前循环: b. 但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环 ...

  5. foreach循环怎么获取全部返回值_PHP跳出循环的方法语句有哪些

    php中文网最新课程 每日17点准时技术干货分享 对于即将步入PHP岗位的求职者来说,在面试过程中除了自我介绍相关经验外,更多的是PHP面试题的回答测试.本篇文章就给大家介绍在PHP面试过程中比较常见 ...

  6. 《C Primer Plus》第七章--C控制语句:分支和跳转(if else switch continue break goto 逻辑运算符ctype.h)

    文章目录 C控制语句:分支和跳转 本章内容 if语句 if else语句 另一个示例:介绍getchar()和putchar() ctype.h系列的字符函数 多重选择else if else与if配 ...

  7. python结束循环_python中break、continue 、exit() 、pass终止循环的区别

    python中break.continue .exit() .pass区分 1.break:跳出循环,不再执行 Python break语句,就像在C语言中,打破了最小封闭for或while循环. b ...

  8. python中break、continue 、exit() 、pass终止循环的区别

    python中break.continue .exit() .pass区分 1.break:跳出循环,不再执行 Python break语句,就像在C语言中,打破了最小封闭for或while循环. b ...

  9. JSON 解析的两种方法

    今天帮朋友看了下JSON解析结果············· eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. ...

最新文章

  1. javascript调试工具
  2. [js] 纯函数和函数式编程有什么关系?
  3. win10切换输入法快捷键_输入法失灵怎么办?该怎么恢复?
  4. Golang函数,包笔记
  5. R7-3 计算个人所得税 (10 分)
  6. 办公常用---破解在PDF中无法复制的功能
  7. 抄底王牌tdx 副图(无未來函数)
  8. 【C/C++】一道试题,深入理解数组和指针
  9. Windows 命令 netstat 查看网络端口、telnet 检测对方端口是否可用
  10. 牛腩新闻发布系统(7)——总结
  11. 串口485接法图_RS485接线的正确原理图
  12. 华为手机热点无法连接_华为手机热点无法连接
  13. 深入浅出WPF(1)——什么是WPF
  14. SVN图标丢失解决方法
  15. 毕业论文格式|自制word模板 |.domt | word格式模版
  16. 红警战网服务器端源码,红色警戒2战网平台完整版
  17. 后现代婚礼机器人显神通_看机器人“各显神通”
  18. latex 论文算法编辑
  19. Python爬虫_案例分析(二)
  20. linux系统下qt中文输入法,Ubuntu系统下Qt使用中文输入法(示例代码)

热门文章

  1. BZOJ 4557 JLOI2016 侦查守卫 树形dp
  2. ffmpeg摄像头推流
  3. sql alter表字段处理
  4. struts2-通配符和动态方法调用
  5. cocos2d-x学习笔记之图片分辨率适配
  6. Gentoo使用sudo
  7. GCC + pthread
  8. 有效利用时间12妙招
  9. fifa15服务器位置,《FIFA 15》全系统教程图文攻略
  10. windows下php swoole扩展,Windows 下安装 swoole 图文教程(php)