请帮忙。
for($i=0; $i<12; $i++ ){
switch($i) {
case 0:
case 1:
case 2:
case 3:
case 4:
echo ("i is less than 5 <br>");
break;
case 5:
case 6:
case 7:
case 8:
case 9:
echo ("i is less than 10 <br>");
break;
default:
echo ("i is 10 or more <br>");
}
}
这是我在Java书中获得的示例代码,我将上面的代码翻译成PHP。
以下代码的输出:
i is less than 5
i is less than 5
i is less than 5
i is less than 5
i is less than 5
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is 10 or more
i is 10 or more
我的问题是,为什么情况 0 到案例 3 输出"i 小于 5",即使它没有任何以下代码并且案例 4 是带有 echo 语句的代码?我很困惑,有人可以向我解释一下。提前谢谢。
这就是
switch
应该如何运作。为了停止陷入下一种情况,您必须使用 break
关键字。在我所知道的每种语言中都是一样的,包括JavaScript,PHP和Python。
有关参考,请查看 PHP 手册。
想象一下你的开关是这样的
switch($i) {
case 0:
case 1:
case 2:
case 3:
case 4:
echo ("i is less than 5 <br>");
break;
case 5:
case 6:
case 7:
case 8:
case 9:
echo ("i is less than 10 <br>");
break;
default:
echo ("i is 10 or more <br>");
它将继续沿着链条前进,直到调用中断。