Liz*_*ard 33 php for-loop break switch-statement
当我通常想要在所有迭代完成之前突破foreach循环时,我只是使用中断; 声明.例如
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;
}
这是最好的解决方案吗?还是这有另一种方式?
接受的答案没有实际的例子让我与你分享.
break 2 
表示退出循环和切换.
$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "At 5<br />\n";
        break 1;  /* Exit only the switch. */
    case 10:
        echo "At 10; quitting<br />\n";
        break 2;  /* Exit the switch and the while. */
    default:
        break;
    }
}
| 归档时间: | 
 | 
| 查看次数: | 9846 次 | 
| 最近记录: |