PHP流程控制之嵌套if...else...elseif結(jié)構(gòu)
還記得本章開(kāi)篇我們講了一個(gè)王思總同學(xué)的例子:
王同學(xué)是生活極度充滿娛樂(lè)化和享受生活的人。他抵達(dá)北京或者大連的時(shí)候做的事,他抵達(dá)后做的事情,如下:
半夜到達(dá),先去夜店參加假面舞會(huì)
早上抵達(dá),愛(ài)在酒店泡個(gè)澡
中午到達(dá),會(huì)吃上一份神戶牛肉
晚上到達(dá),總愛(ài)去找朋友去述說(shuō)一下心中的寂寞
我們來(lái)了解一下他的語(yǔ)法規(guī)則【知識(shí)點(diǎn)要求:默寫(xiě)】
<?php if(判斷語(yǔ)句1){ 執(zhí)行語(yǔ)句體1 }elseif(判斷語(yǔ)句2){ 執(zhí)行語(yǔ)句體2 }else if(判斷語(yǔ)句n){ 執(zhí)行語(yǔ)句體n }else{ 最后的else語(yǔ)句可選 } //后續(xù)代碼 ?>
上述結(jié)構(gòu)表示:
如果判斷語(yǔ)句1的值為真,則執(zhí)行語(yǔ)句體 1。執(zhí)行完成后進(jìn)入后續(xù)代碼段。
否則轉(zhuǎn)入后面的判斷語(yǔ)句2(elsif),判斷語(yǔ)句2若為真,則執(zhí)行語(yǔ)句體 2。
否則轉(zhuǎn)入后面的判斷語(yǔ)句n(elsif),判斷語(yǔ)句2若為真,則執(zhí)行語(yǔ)句體 n。
如果均不匹配則執(zhí)行else語(yǔ)句。這種循環(huán)嵌套可以不含else語(yǔ)句,即只含有if、elseif語(yǔ)句。
注:elseif()也可以寫(xiě)成else if()
我們把上面的代碼用流程圖的形式表示清楚就如下圖了:
我們可以把王思總同學(xué)的例子通過(guò)PHP代碼表示出來(lái),代碼表示結(jié)果如下:
<?php //定義一個(gè)隨機(jī)變量,抵達(dá)時(shí)間,隨機(jī)0點(diǎn)至23點(diǎn) $dida = rand(0,23); if($dida > 6 && $dida < 10){ echo '我愛(ài)泡澡'; }else if($dida >10 && $dida < 14){ echo '吃神戶牛肉'; }else if($dida >=19 && $dida < 22){ echo '找一個(gè)朋友聊聊內(nèi)心的寂寞'; }elseif($dida > 22 && $dida <= 23){ echo '泡澡'; }elseif($dida >= 1 && $dida <3){ echo '泡澡'; }else{ echo '睡覺(jué)或者工作'; } ?>
作業(yè):
寫(xiě)一個(gè)網(wǎng)頁(yè)cj.html,向panduan.php頁(yè)面以post方式提交分?jǐn)?shù)段。分?jǐn)?shù)段和顯示的結(jié)果如下,要求如下:
- 0----60以下,不及格
- 60---70及格了,要努力
- 70---80 還不錯(cuò)
- 80---90 上清華有希望
- 90---100 你這輩子沒(méi)希望了
- 100 更沒(méi)希望了
- 100分以上 愛(ài)因斯坦轉(zhuǎn)世啊,思密達(dá)!
- 不是一個(gè)數(shù)值類(lèi)型或者小于0 請(qǐng)輸入正確的分?jǐn)?shù)。