使用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/