首页 >后端开发 >PHP问题 > 正文

PHP循环学习五:如何跳出循环?5种方法浅析

原创2021-08-02 19:26:440653
在之前的文章中,我们带大家学习了PHP中的几种循环控制结构(while循环do-while循环for循环foreach循环),并介绍了for循环语句和foreach循环语句遍历数组的方法,感兴趣的可以点击链接查看,希望对大家有所帮助!

循环语句可以在满足条件的情况下反复执行某一个操作,但有时已经满足条件但循环还没结束,此时就需要跳出循环了。那么在PHP中要如何跳出循环呢?今天就来给大家分享5种跳出循环的方法:continue语句、break语句、goto语句、die()/exit()语句、return语句。

方法1:使用continue语句

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

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

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

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

分析:

  • for ($i = 1; $i <= 10; $i++){}语句可以循环得出1~10 之间的所有数字

  • if($i % 2 != 0)语句用于判断$i的值能整除2,不能整除则()中值为true,则执行continue;语句。

  • 在循环体中,使用if($i % 2 != 0)语句进行判断,如果$i的值能整除2就使用“echo $i”输出;如果$i的值不能整除2,则触发continue;语句,跳出本次循环(不进行输出),执行下一次循环。

输出结果:

2
4
6
8
10

方法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整除)

<?php
for ($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(),看看输出

<?php
header("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语句,看看输出

<?php
header("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()语句包含的文件里来调用,也可以是在主程序里调用。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

推荐:PHP面试题大汇总(收藏)

以上就是PHP循环学习五:如何跳出循环?5种方法浅析的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 专题推荐

    作者信息

    青灯夜游

    今天学习一小步,明天提升一大步

    最近文章
    php怎么根据时间戳判断周几313
    php转换大小写的函数有哪些1002
    php怎么将字母转为16进制230
    推荐视频教程
  • PHP开发基础之语法篇PHP开发基础之语法篇
  • 细说PHP(2021版)第一季细说PHP(2021版)第一季
  • 细说PHP(2021版)第二季细说PHP(2021版)第二季
  • 细说PHP(2021版)第三季细说PHP(2021版)第三季
  • 细说PHP(2021版)第四季细说PHP(2021版)第四季
  • 视频教程分类