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";
}
?>

输出结果:

1014.09.png

输出:好好学习,天天向上;通过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;
 }
 ?>

输出结果:

1014.10.png

由于在前面的 case 中没有找到符合的条件,那就会执行默认语句,也就是default。因此输出结果为default的:未知。

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » PHP中switch语句怎样使用(实例解析)