Liz*_*ard 33 php for-loop break switch-statement
当我通常想要在所有迭代完成之前突破foreach循环时,我只是使用中断; 声明.例如
foreach($nodelist as $node) {
if($metCriteria) {
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但我的下一个例子中有一个switch语句.如果满足其中一个条件,那么我需要打破foreach循环.(中断的问题用于switch语句)
foreach($nodelist as $node)
{
switch($node->nodeName) {
case "a" :
//do something
break;
case "b" :
//break out of forloop
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我只是在switch语句中设置一个变量然后在它之后中断吗?例如
$breakout = false;
foreach($nodelist as $node)
{
switch($node->nodeName) {
case "a" :
//do something
break;
case "b" :
$breakout = true;
break;
}
if($breakout === true) break;
}
Run Code Online (Sandbox Code Playgroud)
这是最好的解决方案吗?还是这有另一种方式?
接受的答案没有实际的例子让我与你分享.
break 2
Run Code Online (Sandbox Code Playgroud)
表示退出循环和切换.
$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;
}
}
Run Code Online (Sandbox Code Playgroud)