Я рефакторинг какой-то старый код и наткнулся на continue 2
это может быть легко заменено перерывом.
for($rows as $i){
for($columns as $j){
if( Helper::unicornExists($i, $j) ){
//continue 2;
break;
}
}
}
Если мы говорим, что continue 2
делает код более сложным и трудным для чтения,
есть ли веская причина использовать его (на 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
сделал бы.
Других решений пока нет …