[英]Break out out forloop but within switch statement php
當我通常想要在所有迭代完成之前突破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;
break x將突破那么多級別
接受的答案沒有實際的例子讓我與你分享。
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;
}
}
只需使用{'s - 它將使代碼保持“運行”狀態。 如果你問我,要比破損聲明好多了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.