亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

在例子B里面,為什么值是40而不是30?

執行第三個case的時候,$num = 2而case 3, 為什么還是+10了?

我試著把第三個case改成 case 2, $sum 還是40。

正在回答

4 回答

順序執行所以把3和2更換之后結果是不一樣的一個是30一個是40 ?并不是你改過之后先執行2在執行3在執行default而是執行2之后直接執行default結果是30不是40

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

你的switch($num) 里面選中的元素是$num 所以就判定$num的值。因為你前面的$num = 2; 所以直接從case 2 :開始計算,不是從case 1 : 開始計算。所以就是$sum=$sum(10) + 10;然后case 3 : $sum = $sum(20) + 10;然后default : $sum = $sum(30) + 10;輸出的是最后的一個$sum按照上面的規律,這個時候$sum已經等于40了,所以輸出的數據就為40。共勉,加油。?

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

結合第一個回答與自己的嘗試,正如一答所說,case只是分區,不同case的語句其實是相連的(如果沒有break隔開的話 ) 。case 1 2 3 ,不加break,改變三者的順序,若case2 在第一個 則 $sum ==? 50; 若case 2在第三位 ,則$sum == 30 諸位同學可自行嘗試

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

switch的機制大概是這樣的,你可以這么理解,case相當于一個個傳送點,然后根據你的參數,比如num==2,就傳送到往下最近的case 2,找不到的話就執行最下面的default,所以break是要加的,相當于退出點,case你可以理解成只有單向傳送的作用,并不支持退出,或作為各塊之間的分隔;

所以改第三個case為case2時$sum還是40,如果你把第一個case改成case 2,$sum就會變成40;

//同是正在入門php,有錯望網友指正;




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

舉報

0/150
提交
取消

在例子B里面,為什么值是40而不是30?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號