当我通常想在所有迭代完成之前跳出 foreach 循环时,我只需使用 break;陈述。例如
foreach($nodelist as $node) {
if($metCriteria) {
break;
}
}
但我的下一个示例中有一个 switch 语句。如果满足其中一个条件,那么我需要从 foreach 循环中中断。(问题是 break 用于 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;
}
这是最好的解决方案吗?或者这有另一种方式?