for($i = 1;$i echo 'print times';//结果是 print times 重复 10 次
}
for($i = 1;$i for($j = 1;$j $m = $i * $i + $j * $j;
echo "$m ";
if($m 190) {
break 2;
}
echo 'print times';//结果是 2 ,跳出 第 2 层循环后,为什么第 1 层循环的中打印句没有执行呢?
}
for($i = 1;$i <= 10; $i++ ){ for($j = 1;$j <= 10;$j++){ $m = $i * $i + $j * $j; echo "$m "; if($m < 90 || $m > 190) { break 2; //跳出2层循环,也就是跳到 第1层循环结束 } } //这是第2层循环结束 echo 'print times';} //这是第1层循环结束
同样的例子:
//设置编码为UTF-8,以避免中文乱码
header('Content-Type:text/html;charset=utf-8');
//执行嵌套循环,外层循环3次,内层循环2次。当执行到第2次外层循环时,使用break 2跳出,直接跳出2层循环
for ($i = 0; $i echo '外层循环'.$i.' 开始
';
for ($j = 0; $j if ($i == 1){
break 2; //使用break 2直接跳出2层循环
}
echo '内层循环'.$i.'-'.$j.'
';
}
echo '外层循环'.$i.' 结束
';
}
?>
结果:
外层循环0 开始
内层循环0-0
内层循环0-1
外层循环0 结束
外层循环1 开始