在条件遇到异常的任何情况下,我需要打破一个包含条件的循环
像这样:for($l=0; $l<$subject_count; $l++){
for($a=0; $a<$term_relatives_id_array_count; $a++){
if($subject_array[$l]['id'] == $term_relatives_id_array[$a]['subject_id']){
$subject_echo = true;
break;
}
echo 'a';
}
if(!$subject_echo){
echo '<li class="selectable_item" id="'.$subject_array[$l['id'].'">'.$subject_array[$l]['name_fa'];
echo '</li>';
}
}
我使用echo 'a';
来查看break;
是否有效,但它不会破坏内部循环
我该怎么办?
答案 0 :(得分:1)
使用break 1;
退出当前循环,并使用break 2;
退出2。
答案 1 :(得分:0)
你需要打破内部和外部循环吗?在这种情况下,您应该使用break 2;
答案 2 :(得分:0)
break接受一个可选的数字参数,该参数告诉它有多少嵌套的封闭结构被打破。
http://php.net/manual/en/control-structures.break.php
示例来自上述链接:
<?php
$i = 0;
while (++$i) {
switch ($i) {
case 5:
echo "At 5<br />\n";
break 1; /* Exit only the switch. */
case 10:
echo "At 10; quitting<br />\n";
break 2; /* Exit the switch and the while. */
default:
break;
}
}
?>
答案 3 :(得分:0)
break结束当前for,foreach,while,do-while或switch结构的执行。
因此,在您的情况下,检查是否要结束两个for循环的执行,使用break 2;
有关详情,请参阅break
如果不满足条件,可能是因为不能执行break。所以也要检查这些值。