欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php foreach如何跳出两层循环

shiping1 的头像

php foreach如何跳出两层循环

使用break可以跳出当前循环,那如果想再跳出上一层的循环呢 我们就需要break 2即可
        $arr1 = array('a1','a2','a3','a4');
        $arr2 = array('b1','b2','b3','b4');
        foreach($arr1 as $a1){
            foreach($arr2 as $k=>$a2){
                if($k=='2'){
                    break 2;
                }
                echo $a1.'==='.$a2.'<br/>';
            }
        }

来自 http://flvz.blog.163.com/blog/static/2138971072014245521457/





PHP如何跳出两层(多层)循环?

今天写程序,遇到一个问题:

$j = 0;
while(1)
{    
    foreach ( $data['post'] as $key => $val )
    {
        if(isset( $row['res1'] ))
        {
              if( $data['post'][$key][id] <= $row['res1'] )
              {
                  echo '需要在这里跳出';
                  break;
             }
        }
    }
    $j++;
}

一个break只能跳出当前的foreach循环,最外层的while还是会继续执行。
现在需要在break那里跳出最外层的循环,该怎么做?

break 2 就可以跳出2层循环……
continue 其实也能这么用,continue 是终止当前循环的执行语句,去执行下一条循环,continue 2 是跳到当前循环的上层循环开始执行处,开始循环,以此类推……

来自 
http://www.nowamagic.net/librarys/topics/detail/301/


普通分类: