为了账号安全,请及时绑定邮箱和手机立即绑定

没有break 会一直执行到底嘛不是,应该是执行default下面的语句,这样B列子的值就是20,但是为什么输出了40 啊?不懂!!

没有break 会一直执行到底嘛不是,应该是执行default下面的语句,这样B列子的值就是20,但是为什么输出了40 啊?不懂!!

正在回答

4 回答

没有break,代码会按照顺序结构依次执行代码。

//B例子
$num = 2;
$sum  = 10; 
switch($num){
case 1:
$sum = $sum  + 10;
case 2:
$sum = $sum  + 10;
case 3:
$sum = $sum  + 10;
default:
$sum = $sum  + 10;
}

因为 num = 2

所以从 case 2 开始执行

sum = 10 

 case 2: sum = 10 + 10 

case 3:   sum = 20 + 10

default: sum = 30 + 10  

sum = 40

1 回复 有任何疑惑可以回复我~
#1

ITer 提问者

这里的话就是后面的$sum会用前面执行过的值,然后依次类推下去对吧
2015-08-11 回复 有任何疑惑可以回复我~
#2

zichy 回复 ITer 提问者

对头~
2015-08-11 回复 有任何疑惑可以回复我~

老师,你好厉害

0 回复 有任何疑惑可以回复我~

和c语言不一样的

0 回复 有任何疑惑可以回复我~

看了楼上的解释瞬间明白了,因为在PHP中变量会一直变的~~~所以最后累加成了40而非20!

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

没有break 会一直执行到底嘛不是,应该是执行default下面的语句,这样B列子的值就是20,但是为什么输出了40 啊?不懂!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信