使用另一个嵌套的foreachloop继续前进到foreachloop中的下一个循环

时间:2017-11-21 13:00:19

标签: php loops foreach

我有2个Foreach-Loops。其中一个嵌套在另一个中,例如:

foreach(...){
    foreach(...){
        //if statement
    }
}

在内部循环中我得到了一个if语句,如果这个语句返回true,我想打破内部循环并继续下一个outter循环。有没有办法实现这个? "休息2; "因为我需要继续进行外部循环,所以不会工作。

2 个答案:

答案 0 :(得分:2)

break一样,您也可以向continue添加一个数字:

foreach(...) {
    foreach(...) {
        if (...)
            continue 2;
    }
    // this will be skipped
}

来自文档:

  

继续接受一个可选的数字参数,告诉它有多少   封闭循环的级别应该跳到结尾。默认   value为1,因此跳到当前循环的末尾。

答案 1 :(得分:0)

根据PHP documentation,默认值为1,它只会突破立即封装的控件结构

  

break结束当前执行,foreach,while,do-while或   开关结构。

     

break接受一个可选的数字参数,告诉它有多少   嵌套的封闭结构将被打破。默认值   是1,只有直接封闭结构被打破。

例如,以下代码:

<?php
foreach(array(1,2,3,4,5) as $num){
    foreach(array('a', 'b') as $char){
        if($char === 'b') {
            break;
        }
        echo $char;
    }
    echo $num;
}

// Result: a1a2a3a4a5

在打印'b'之前打破,但继续循环到5。