文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP中怎样跳出循环

2023-06-20 18:55

关注

PHP中怎样跳出循环,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

方法1:使用continue语句

continue语句的作用是跳出本次循环,接着执行下一次循环(放弃continue语句之后的代码并进行下一次循环)。

下面我们通过代码示例来看看。

示例1:输出1~10 之间的所有偶数(偶数能被2整除)

<?php    for ($i = 1; $i <= 10; $i++) {        if($i % 2 != 0) {            continue;        }        echo $i.' <br>';    }?>

分析:

输出结果:

246810

方法2:使用break语句

break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码。

break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。

沿用上面的示例1中代码,将continue;换成break;,会输出什么?

<?php    for ($i = 1; $i <= 10; $i++) {        if($i % 2 != 0) {            break;        }        echo $i.' <br>';    }?>

答案是:什么也不输出。为什么会这样尼?我们来分析一下:

forx循环一开始,$i=1,1小于10吗?当然,然后开始执行循环体中的if($i % 2 != 0)语句;

那么1能整除2吗?显然是不能,因此()中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“echo $i.' <br>'”语句。

方法3:goto语句

goto 的作用是将程序的执行从当前位置跳转到其他任意位置。该目标位置可以用目标名称加上冒号来标记(例如 name: ),而跳转指令是 goto 之后接上目标位置的标记。

goto本身并没有要结束的循环的作用,但其跳转位置的作用使得其可以作为跳出循环使用。

下面我们通过代码示例来看看。

示例2:输出1~10 之间的所有奇数(奇数不能被2整除)

<?phpfor ($i = 1; $i <= 10; $i++) {    if($i % 2 == 0) {        goto a;    }    echo $i.' <br>';}a:?>

输出:

1

goto实际上只是一个操作符,使用有一定限制:跳转的目标位置只能位于同一个文件和作用域内。

goto 操作符仅在 PHP5.3 及以上版本有效。

方法4:die()/exit()语句

exit 和 die 这两个名字指向的是同一个函数。

die()/exit() 的作用:结束程序执行的,可以用在任何地方。

沿用上面的示例3中代码,将goto语句换成die(),看看输出

<?phpheader("Content-type:text/html;charset=utf-8");for ($i = 1; $i <= 10; $i++) {    if($i % 2 == 0) {        die();    }    echo $i.' <br>';}?>

输出:

1

die()/exit()函数只接受一个参数,可以是一个具体的数值,也可以是一个字符串,还可以不输入任何参数。如果参数是字符串,PHP将会直接把字符串输出,如果参数是integer整形(范围是0-254),那个参数将会被作为结束状态使用。

方法5:return语句

return语句是用来结束一段代码,并返回一个参数的。

沿用上面的示例3中代码,将die()语句换成return语句,看看输出

<?phpheader("Content-type:text/html;charset=utf-8");for ($i = 1; $i <= 10; $i++) {    if($i % 2 == 0) {        return;    }    echo $i.' <br>';}?>

输出:

1

return语句可以在一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可以是在主程序里调用。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯