使用下面方法可以直接跳出循环(推荐):
$http = 0; foreach($arr as $v){ for($i=1;$i<=3;$i++){ if($http == 200) break 2; echo $i,"\n"; $http = 200; } echo $v,'这里不会输出'; } echo 'END';
但是有些特殊情况使 层数不确定,或是很多层时(一般不会有这种情况):可以使用goto;
foreach($arr as $v){ for($a=1;$a<=3;$a++) for($b=1;$b<=3;$b++) for($c=1;$c<=3;$c++) for($x=1;$x<=3;$x++) for($d=1;$d<=3;$d++) for($v=1;$v<=3;$v++) for($z=1;$z<=3;$z++) for($n=1;$n<=3;$n++){ // if($http == 200) break ??; if($http == 200) goto end; echo $n,"\n"; $http = 200; } echo $v,'这里不会输出'; } end: echo 'END';