繁体   English   中英

如何中断有条件的循环? (PHP)

[英]How can I break a loop which has a condition in it? (PHP)

在任何情况下满足条件的情况下,我都需要中断其中具有条件的循环

像这样:

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; 可以,但是不会破坏内部循环,我该怎么办?

使用break 1; 退出当前循环并break 2; 满分2。

您是否需要同时打破内部外部循环? 在这种情况下,您应该使用break 2;

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;
    }
}
?>

break终止foreach,while,do-while或switch结构的当前执行。

因此,根据您的情况,检查是否要结束两个for循环的执行,请使用break 2;

有关更多参考,请参考中断

如果不满足条件,则可能无法执行中断。 因此,还要检查这些值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM