前面给大家讲解了一种多重选择elseif语句,虽然这种语句可以进行多种判断,但是使用的时候,需要写很多的if语句,给我们程序的可读性带来不便,为了避免if语句过多和提高我们程序的可读性,可以使用switch多重判断语句,本章我们就给大家介绍“switch语句”。
switch语句的语法:
switch (expr) { case expr1: statement; break; case expr2: statement; break; …… default: statement; }
语法详解:
switch语句根据expr的值,按顺序依次与case中的expr1...n的值比较,如果比较不相等,继续查找下一个case;如果相等,则执行相应的PHP语句,直到switch语句结束或遇到break为止。switch语句结尾都有一个default,default是在所有case中都没有找到相符的条件,则输出default后面的语句,跟else语句类似。
这里有个需要注意的地方,就是switch语句在执行的时候,如果找到了符合要求的case语句段,他还是会接着执行下面的case语句,那么下面的case语句不符合要求,为了避免这种浪费时间和资源的行为,我们一定要在每个case语句段后面加上break语句,这里的break语句的意思是跳出当前switch语句。
switch语句流程图
switch语句实例
本实例将会先用多重选择elseif语句写一遍,再用我们本章所讲解的switch语句在写一遍。两种写法对比一下。就能看到那种写法更为简便一点。代码如下
elseif语句的写法
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $dir='north'; if ($dir == 'west') { echo '西'; } else if ($dir == 'east') { echo '东'; } else if ($dir == 'north') { echo '北'; } else if ($dir == 'sourth') { echo '南'; } else { echo '未知'; } ?>
switch语句写法:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $dir='north'; switch ($dir) { case 'west': echo '西'; break; case 'east': echo '东'; break; case 'north': echo '北'; break; case 'sourth': echo '南'; break; default: echo '未知'; break; } ?>
两种写法运行结果如下:
通过上面的两种写法可以到出,运行的结果都是一样的,但是我们的elseif语句的写法,写了很多的if语句,代码看起来不容易阅读,反正,switch语句则精炼很多。
Atas ialah kandungan terperinci PHP控制语句之“switch”语句实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!