课程咨询 :17156168575 QQ:2720475033

  • 比较php跳出多重循环的几种语句

    发布:济南php培训      来源:济南php培训      时间:2016-08-15

  • 1.break语句:

    break语句无论是在面向过程的编程语言中、还是在面向对象的编程语言中都是必备的语句之一,想必很多人对其的使用也已经了如指掌了,而且我们以前也对其针对具体的语言区做了专门的文章讲解和分析,所以今天我们在php语言的跳出多重循环的语句比较中将会简化一些说明。

    我们早已说过break语句可以跳出多重循环,并且会是永久的跳出,但对于多重循环的话,它存在了一个层次的问题,也就是说我们在使用break语句时可以加上层次数的参数,这样我们就可以自由的去跳出任意我们想要跳出的循环层次数,如果我们不给于层次参数的话,则默认表示跳出本重循环,为了大家更好的理解,请看下面的示例:

    //在例子中我们看的出来

    //在这里我们使用了层次数参数2,也就是说跳出2个循环

    //大家可以测试下将2这个参数留空不写的话

    //最后的结构是不一样的

    for($i=1;$i<=10;$i++){

    for($j=1;$j<=10;$j++){

    $demo=$i * $i + $j * $j;

    echo $demo,"

    ";

    if($demo<90||$demo>190) {

    break 2;

    }

    }

    }

    在上面的示例中,我们可以的看的出代码中包含了两重循环,在示例中我们将层次数定为了参数2,这样的话就是跳出2个循环;如果我们不写这个层次参数,而是直接用break的默认方式的话,我们跳出的将仅仅只是本层循环。

    2.continue语句:

    continue语句同样是各种语句必备的语句之一,我们在使用时很容易将其与break等语句相混淆,因此也是众多程序员喜欢讨论的语句之一。我们以前讲过其和break语句之间的区别,简单的说其实只是暂时的跳出的循环,循环仍会继续进行下去。或许这么说还是不够明确,以使有些朋友还是一头雾水,那么我们就来换另外一种表达方法吧:

    continue 语句仅仅用在循环结构中,如果在非循环结构中(例如if语句)使用的话,程序将导致错误而无法运行下去。这条语句的作用仅仅是放弃掉出现在其之后的代码而重新开始下一轮的循环。因此这样我们更容易理解了,continue语句仅仅是放弃了本次循环,它身后的代码将不会继续执行而进行下一轮的循环,也就是说 continue语句并没有跳出循环,只是暂时放弃结束了。

    下面我们同样提供了一个小示例供大家参考一下:

    //大家可以测试一下代码,将continue换成break来比较一下输出有什么不同

    for($i=1;$i<=200;$i++){

    //首先给出for循环,这个循环的条件是

    //在200以内的整数中进行逐个检查,从数字1开始检索

    if($i%2==0||$i%3==0){

    //%为取模运算符,其含义是对%之后数字进行除法运算,如果结果为0,则证明可以整除

    //因此本句的意思是:能够被2整除或者被3整除的数字

    //当碰到这两个条件满足的时候,continue用来跳出循环

    //大概就会出现类似这样的结果:

    //结果:2,3,4,6,8,9,10,12,14,15,16……(略去)

    continue;

    //我们去尝试着将continue换成break的话

    //结果则是2,因为满足了一次条件后,break语句就使程序跳出了整个循环了

    }else{

    echo $i,"

    ";

    }

    }

    3.return语句:

    我们都知道return的中文意思就是返回,因此这个语句的意思就是结束上面的一段代码,并且给出一个返回值。他既可以调用某个函数,也可以调用一些 include()或者require()语句中包含的一些文件,在php语言中还是满常用到的。只是需要我们注意的地方是,如果这个语句在主循环中进行使用的话,主程序则会立刻停止运行,而指向return的代码,请看下面的示例:

    for($i=500;$i>=1;$i–){

    if(sqrt($i)>=30){

    echo $i,"

    ";

    }else{

    return;

    }

    }

    echo "这里是不会被输出的";

    4.exit语句:

    这个语句是用来结束程序执行的,它可以使用在任何地方,因此它并不是一个完全的结束循环的语句,实际上他的权力要远远大的多,只要我们在某处使用了这个语句的话,那么这个语句之后的任何代码将不会被执行,甚至是一些html代码都不会执行,可以说是一个超级终结者吧!

    其示例我们将不给出了,可将return示例中的return改为exit即可,两段代码的作用是一样的。

    5.die语句:

    这条语句和exit语句差不多使用,在此我们也不细说了。

    6.goto语句:

    这条语句其实在php5.3以上的版本中就已经失去了支持,另外使用goto语句会大大降低代码的可读性,因此在多数语言中,我们都倡议进行减少goto语句的使用率。它的作用是用来结束上面的代码,并且指向到任意一个我们想要执行下去的位置。在此我们也没有必要对其多解释了,有兴趣的话自己去读下帮助文档吧!

上一篇:PHP类型转换的判别方法

下一篇:php发送get、post请求的方法

最新开班日期  |  更多

PHP高级开发工程师就业班

PHP高级开发工程师就业班

开班日期:11月30日

PHP高级开发工程师周末班

PHP高级开发工程师周末班

开班日期:11月30日

济南PHP培训班就业班

济南PHP培训班就业班

开班日期:11月30日

PHP高级开发工程师周末班

PHP高级开发工程师周末班

开班日期:11月30日

 扫一扫,关注一下! 济南:历下区山大路47号数码港大厦 济南:历下区趵突泉北路三联商社
青岛:市南区金坛路17号 潍坊:奎文区东风东街299号建行大厦
烟台:海港路25号阳光100城市广场 临沂:兰山区红旗路1号苏宁易购
淄博:张店区金晶大道68号华润大厦 济宁:市中区太白路10号苏宁生活广场
课程培训电话:17156168575 QQ:2720475033 全国服务监督电话:400-111-8989    服务邮箱 tousu@tedu.cn

2001-2017 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56