PHP中switch语句怎样使用(实例解析)
在之前的文章中给大家带来了《5分钟搞定PHP的if else语法和NULL数据类型》,这篇文章中详细的介绍了PHP的if-else的基础语句,今天我们继续来看一下比if-else效率更高的语句,也就是PHP的switch语句。希望对大家有所帮助!
PHP switch语句
switch语句和if-else语句比较类似,都是根据不同的条件去执行不同的动作,但是if-else语句判断的效率低,我们有更好的方式,也就是switch语句。想要会用switch语句,我们就要先知道它的基础语法格式。
switch 语句由一个表达式和多个 case
标签组成,举例如下:
switch (表达式) { case 条件1: 动作1; break; case 条件2: 动作2; break; default://未满足条件1、条件2而剩余的条件 动作3; }
执行switch语句,会先把表达式进行一次计算,然后按顺序将表达式中的值与case中的值进行比较,如果相等就会执行其对应的动作或者语句,如果不相等就会继续向下比较下一个case,以此类推,直到 switch 语句结束或遇到 break
为止。
一般来说,switch 语句最后面会有一个默认值,也就是上面式子中的 default
,如果在前面的 case 中没有找到符合的条件,那就会执行默认语句,也就是default。这一点和 else 语句有点类似。
同时,我们在使用switch语句的时候也应该注意一些事项:
-
case 语句的个数可以一直增加。但 case 标签和 case 标签后面的值之间要有一个空格,在case 后面不要写成分号(;),后面是冒号(
:
)。 -
在case后面不要写判断区间,如($a > 2 或者 $a == 3)
-
switch里面在变量最好是 整型,字符串,不能是布尔型,因为布尔判断更适合if…else..
-
如果把每个case里的break去掉,那么每个case里的代码块依次都会执行到。
-
switch语句可以不写default,但是为了养成良好的习惯,建议保留default语句。
-
和 if 语句不同的是,switch 语句后面必须要加上花括号。
<?php $a ="好好学习"; switch ($a) { case "福如东海": echo "福如东海,寿比南山"; break; case "好好学习": echo "好好学习,天天向上"; break; case "一夫当关": echo "一夫当关,万夫莫开"; break; default: echo "nothing"; } ?>
输出结果:
输出:好好学习,天天向上;通过switch语句将表达式符合条件的case动作输出。
再比如:
<?php $dir='nothing'; switch ($dir) { case 'west': echo '西'; break; case 'east': echo '东'; break; case 'north': echo '北'; break; case 'sourth': echo '南'; break; default: echo '未知'; break; } ?>
输出结果:
由于在前面的 case 中没有找到符合的条件,那就会执行默认语句,也就是default。因此输出结果为default的:未知。
推荐学习:《PHP视频教程》