這段代碼,當進入第一個if時,會判斷$ch+$en+$ma>220,但是$ch+$en+$ma<220,事件流是不是就會跳出這個if,執行後面的else?
60&&$ma>60&&$en>60){ if($ch+$en+$ma>220) {$tg='合格';};}else{$tg='不合格';}?>
回複內容:
這段代碼,當進入第一個if時,會判斷$ch+$en+$ma>220,但是$ch+$en+$ma<220,事件流是不是就會跳出這個if,執行後面的else?
60&&$ma>60&&$en>60){ if($ch+$en+$ma>220) {$tg='合格';};}else{$tg='不合格';}?>
1.同一隊if...else之間才會根據if中的條件是否滿足跳轉,不同的不會,哪怕是嵌套的。所以當你的if中嵌套的if條件不滿足時,它會尋找有沒有有它成對的else,很抱歉,這裡沒有與它配套的else,所以$tag會為空白。
2.注意書寫格式,代碼的可讀性,縮排,大括弧的位置是緊跟在判斷條件後面,操作符兩邊都要有空格。
60 && $ma > 60 && $en>60){ if($ch + $en+ $ma > 220){ $tg = '合格'; }else{ $tg = '不合格'; }}else{ $tg = '不合格';}?>
當然,xiayongsheng的那種寫法更簡潔,但可讀性稍微差點。
後面的else是第一個if判斷60的,裡面的if沒有else,也就是說,tg是空
可以修改如下
= 220 && $ch >= 60 && $ma >= 60 && $en >= 60;$tg = $condition ? '及格' : '不及格';?>
if(明天下雨){ // 傘或雨衣 if(騎車) { // 雨衣 } } else { // 不帶}
雨衣的前提是下雨。
if與else是成對出現的(但else不是必須的)。
最外圍層級的if對應最外層的else,以此類推。