我正在重构一些旧代码,并偶然发现continue 2
可以很容易地替换为休息。
for($rows as $i){
for($columns as $j){
if( Helper::unicornExists($i, $j) ){
//continue 2;
break;
}
}
}
如果我们说continue 2
使代码更复杂且难以阅读,
是否有任何理由使用它(在2级)嵌套循环?
答案 0 :(得分:2)
在这个特殊的例子中,似乎它是相同的东西,由你决定你喜欢它的方式。我可以看到保留continue 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
会做什么的。