Php 嵌套循环中“继续2”和“中断”之间的差异

Php 嵌套循环中“继续2”和“中断”之间的差异,php,loops,break,continue,Php,Loops,Break,Continue,我正在重构一些旧代码,偶然发现了一个continue 2,可以很容易地用break替换 for($rows as $i){ for($columns as $j){ if( Helper::unicornExists($i, $j) ){ //continue 2; break; } } } 如果我们说continue 2使代码更复杂、更难阅读, 是否有充

我正在重构一些旧代码,偶然发现了一个
continue 2
,可以很容易地用break替换

for($rows as $i){
      for($columns as $j){
           if( Helper::unicornExists($i, $j) ){
                 //continue 2;  
                 break;
           }
      }
}
如果我们说
continue 2
使代码更复杂、更难阅读,
是否有充分的理由使用它(在2级)嵌套循环?

在这个特定的示例中,它似乎是一样的,由您决定您喜欢它的方式。我能看到的保持
继续2
的一个原因是,在项目的未来开发中,您是否会在内部代码之后添加一些内容
for($rows as $i){
      for($columns as $j){
           if( Helper::unicornExists($i, $j) ){
                 //continue 2;  
                 break;
           }
      }
      echo 'done with ', $i, PHP_EOL;
}

如果独角兽真的存在,你需要考虑你的期望。你想只跳过内部循环,这是
break
要做的,还是想跳过外部循环,这是
continue 2
要做的。

仅仅是
break
不会从2个嵌套循环中跳出,它只会跳出1个循环。您将需要
break 2
来同时断开它们。在这种情况下是一样的