前面给大家讲解了一种多重选择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语句则精炼很多。