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
来同时断开它们。在这种情况下是一样的