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