2.6.1 条件控制结构
条件控制语句中包含两个主要的语句,一个是if语句,另一个是switch语句。
1.单一条件分支结构(if语句)
if语句是最为常见的条件控制语句,它的语法格式如下:
这种形式只是对一个条件进行判断。如果条件成立,就执行命令语句,否则不执行。
if语句的流程控制图如图2-19所示。
【例2-19】判断随机数是否是奇数(实例文件:源文件\ch02\2.19.php)。
运行结果如图2-20所示。
图2-19 if语句流程控制图
图2-20 if语句
2.双向条件分支结构(if…else语句)
如果是非此即彼的条件判断,可以使用if…else语句。它的语法格式如下:
这种结构形式首先判断条件是否为真,如果为真,就执行命令语句A,否则执行命令语句B。
if…else语句的流程控制图如图2-21所示。
【例2-20】判断随机数是奇数还是偶数(实例文件:源文件\ch02\2.20.php)。
运行结果如图2-22所示。
图2-21 if…else语句流程控制图
图2-22 if…else语句
3.多向条件分支结构(elseif语句)
在条件控制结构中,有时会出现多种选择,此时可以使用elseif语句。它的语法格式如下:
elseif语句的流程控制图如图2-23所示。
图2-23 elseif语句流程控制图
【例2-21】判断成绩的等级(实例文件:源文件\ch02\2.21.php)。
运行结果如图2-24所示。
图2-24 elseif语句
4.多向条件分支结构(switch语句)
switch语句的结构给出不同情况下可能执行的程序块,条件满足哪个程序块,就执行哪条语句。它的语法格式如下:
其中,若“条件判断语句”的结果符合某个“可能判断结果”,就执行其对应的“命令执行语句”。如果都不符合,则执行default对应的默认项的“命令执行语句”。
switch语句的流程控制图如图2-25所示。
图2-25 switch语句流程控制图
【例2-22】使用switch语句(实例文件:源文件\ch02\2.22.php)。
运行结果如图2-26所示。首先定义一个变量$fruit,值为“苹果”,把$fruit传入switch语句中,然后进行匹配,若匹配到则执行相应代码,若匹配不到则执行default。
图2-26 switch语句
☆大牛提醒☆
switch语句与elseif语句都可以进行多重选择,但是在不同的情况下运行的效率是不一样的。当被判断的值为常量(固定不变的值)时,switch语句的运行效率高于elseif语句;当被判断的值为变量时,elseif语句的运行效率高于switch语句。