javascript - Javascript 或 PHP for 循环中是否有 "superbreak"?

标签 javascript php for-loop break

<分区>

在我工作的许多项目中,我发现我已经嵌套了采用这种通用形式的 for 循环(我将重点关注 PHP 实现,但也适用于 javascript):

$array1 = array(........);
$count1 = count($array1);

$invalidState = false;//An invalid state will be looked for in the innermost loop, and if found, break all the loops

for($i = 0; $i < $count1; $i++) {
    //parsing, then another loop
    $array2 = explode("needle", $array1[$i]);
    $count2 = count($array2);
    for($j = 0; $j < $count2; $j++) {
        //parsing, then sometimes even another another loop
        $array3 = explode("different-needle", $array2[$j]);
        $count3 = count($array3);
        for($k = 0; $k < $count3; $k++) {
            //check for an invalid state in $array3[$k], and break if invalid state = true; 
        }
        if ($invalidState) break;
    }
    if ($invalidState) break;
}

重申一下,如果在最内层循环中发现无效状态,则所有循环都应中断。但据我所知,要中断所有循环,我必须设置一个变量(在本例中为 $invalidState),并在所有外部循环中检查它,如果为真,则中断.

是否存在任何类型的“ super 中断”,如果在最内层循环中满足条件,则所有外层循环都将被中断?

最佳答案

是的,试试这个:

for($i = 0; $i < $count1; $i++) {
    //parsing, then another loop
    $array2 = explode("needle", $array1[$i]);
    $count2 = count($array2);
    for($j = 0; $j < $count2; $j++) {
        //parsing, then sometimes even another another loop
        $array3 = explode("different-needle", $array2[$j]);
        $count3 = count($array3);
        for($k = 0; $k < $count3; $k++) {
            break 3; 

    }
    if ($invalidState) break;
}
if ($invalidState) break;
}

当您编写 break n 时,您将打破 n 嵌套循环。 但是,您不能破坏 $foo,因为最近已删除此功能:

http://php.net/manual/en/control-structures.break.php

关于javascript - Javascript 或 PHP for 循环中是否有 "superbreak"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33894824/

相关文章:

php - Apache 2,PHP : create automatic ntlm login page

php - 如何说服其他程序员使用 Gettext?

for-loop - VBscript 的递归问题

javascript - Socket.IO 404 在本地工作,但在通过 Netlify 部署时不工作

javascript - 如何使用 FF 解除/阻止键盘(键 #93)的上下文菜单?

java - Bing map 地理数据解压缩算法移植到 PHP

java - 针对 HashMap 中的所有值查找值

python - 在某些数组位置查找重复数字

javascript - 尝试根据所选选项显示字段

javascript - EmberJS,如何为不同的 "config variables"管理不同的 "environments"