PHP流程控制之嵌套if...else...elseif结构
还记得本章开篇我们讲了一个王思总同学的例子:
王同学是生活极度充满娱乐化和享受生活的人。他抵达北京或者大连的时候做的事,他抵达后做的事情,如下:
半夜到达,先去夜店参加假面舞会
早上抵达,爱在酒店泡个澡
中午到达,会吃上一份神户牛肉
晚上到达,总爱去找朋友去述说一下心中的寂寞
我们来了解一下他的语法规则【知识点要求:默写】
<?php if(判断语句1){ 执行语句体1 }elseif(判断语句2){ 执行语句体2 }else if(判断语句n){ 执行语句体n }else{ 最后的else语句可选 } //后续代码 ?>
上述结构表示:
如果判断语句1的值为真,则执行语句体 1。执行完成后进入后续代码段。
否则转入后面的判断语句2(elsif),判断语句2若为真,则执行语句体 2。
否则转入后面的判断语句n(elsif),判断语句2若为真,则执行语句体 n。
如果均不匹配则执行else语句。这种循环嵌套可以不含else语句,即只含有if、elseif语句。
注:elseif()也可以写成else if()
我们把上面的代码用流程图的形式表示清楚就如下图了:
我们可以把王思总同学的例子通过PHP代码表示出来,代码表示结果如下:
<?php //定义一个随机变量,抵达时间,随机0点至23点 $dida = rand(0,23); if($dida > 6 && $dida < 10){ echo '我爱泡澡'; }else if($dida >10 && $dida < 14){ echo '吃神户牛肉'; }else if($dida >=19 && $dida < 22){ echo '找一个朋友聊聊内心的寂寞'; }elseif($dida > 22 && $dida <= 23){ echo '泡澡'; }elseif($dida >= 1 && $dida <3){ echo '泡澡'; }else{ echo '睡觉或者工作'; } ?>
作业:
写一个网页cj.html,向panduan.php页面以post方式提交分数段。分数段和显示的结果如下,要求如下:
- 0----60以下,不及格
- 60---70及格了,要努力
- 70---80 还不错
- 80---90 上清华有希望
- 90---100 你这辈子没希望了
- 100 更没希望了
- 100分以上 爱因斯坦转世啊,思密达!
- 不是一个数值类型或者小于0 请输入正确的分数。