之前我们学习了“if...else语句”,知道了我们的“if...else语句” 只能选择两种结果,不是真,就是假。但是当我们出现多个条件的时候,该怎么办呢?什么叫出现多个多件?举个例子来说明一下,假如,有一个班级考试,考试的成绩出来之后,老师划分:90分以上的,是成绩优秀;60-90分之间的,成绩良好,少于60分的,则是成绩不及格。在这种多个条件下,就需要用我们的“elseif语句”了​

 

先看一下“elseif语句”的语法


1

2

3

4

5

6

7

8




​if​​​​(条件表达式1){​

​PHP语句1;​

​}​​​​elseif​​​​(条件表达式2){​

​PHP语句2;​

​}...........​

​else​​​​{​

​PHP语句 ;​

​}​


语句详解:

上面语句的含义是:当我们的“条件表达式1”为真的时候,执行PHP语句1,不为真的时候,接着往下执行“条件表达式2”,条件表达式2为真的时候,执行PHP语句2,条件表达式2也不为真的时候,在接着往下执行....,就这样以此类推,直到找到条件表达式x,为真的时候,执行PHP语句x,如果,执行到最后,没有条件表达式为真,则执行else里面的PHP语句。

PHP条件控制语句之“elseif语句”_默认值elseif可以写成 else if

PHP条件控制语句之“elseif语句”_if语句_02每个PHP语句都是互相排斥的,最终只会有一个PHP执行

elseif语句流程图如下所示

elseif语句实例

本例通过elseif语句,判断今天是这个月的上旬,还是,中,或下旬,代码如下


1

2

3

4

5

6

7

8

9

10

11

12

13




​<?php​

​header(​​​​"Content-type:text/html;charset=utf-8"​​​​);    ​​​​//设置编码​

​$mouth​​​​=​​​​date​​​​(​​​​"n"​​​​);             ​​​​//设置月份变量$mouth​

​$today​​​​=​​​​date​​​​(​​​​"j"​​​​);             ​​​​//设置日期变量$today​

 

​if​​​​(​​​​$today​​​​>=1 ​​​​and​​ ​​$today​​​​<=10){                         ​​​​//判断日期变量是否在1~10之间​

​echo​​  ​​"今天是"​​​​.​​​​$mouth​​​​.​​​​"月"​​​​.​​​​$today​​​​.​​​​"上旬"​​​​;         ​​​​//如果是,说明是上旬  ​

​}​​​​else​​ ​​if​​​​(​​​​$today​​​​>=10 ​​​​and​​ ​​$today​​​​<=20){                   ​​​​//判断日期变量是否在11~20之间​

​echo​​ ​​"今天是"​​​​.​​​​$mouth​​​​.​​​​"月"​​​​.​​​​$today​​​​.​​​​"中旬"​​​​;            ​​​​//如果是,说明是中旬​

​}​​​​else​​​​{                                                  ​​​​//如果上面的两个判断都不符合要求,则输出默认值​

​echo​​ ​​"今天是"​​​​.​​​​$mouth​​​​.​​​​"月"​​​​.​​​​$today​​​​.​​​​"下旬"​​​​;             ​​​​//上面本月是下旬​

​}​

​?>​