Когда я обычно хочу вырваться из цикла foreach, прежде чем все итерации закончатся, я просто использую оператор break;. например.
foreach($nodelist as $node) {
if($metCriteria) {
break;
}
}
Но мой следующий пример содержит оператор switch. И если выполнено одно из условий, мне нужно выйти из цикла foreach. (Проблема, связанная с разрывом, используется для оператора switch)
foreach($nodelist as $node)
{
switch($node->nodeName) {
case "a" :
//do something
break;
case "b" :
//break out of forloop
break;
}
}
Я просто устанавливаю переменную в инструкции switch, а затем ломаю ее после? например.
$breakout = false;
foreach($nodelist as $node)
{
switch($node->nodeName) {
case "a" :
//do something
break;
case "b" :
$breakout = true;
break;
}
if($breakout === true) break;
}
Это лучшее решение? или это там другим способом?