PHP Switch 语句

switch 语句用于根据多个不同条件执行不同动作。

我们前面学过if......else 语句判断条件,但是效率低,还有其他更好的方式吗?我们可以使用到一种方式就是:switch...case语法。

switch...case的语法结构如下:

switch (expr)

{

    case expr1:

        statement;

        break; 

    case expr2:

        statement;

        break; 

    ……

    default:

        statement;

switch 语句类似于具有同一个表达式的一系列 if 语句

每个case会依次判断,expr与expr1..n是否相等,如果相等则执行对应的statement,如果最后有break,则执行完成后跳出switch语句

default是在所有case都无法满足的情况下默认执行的操作

注意事项:

1.不要在case 后面写成分号,后面是冒号:

2.不要在case后面写判断区间,如($foo > 20 或者 $foo == 30)

3.switch里面在变量最好是 整型,字符串,因为布尔判断更适合if...else..

4.如果把每个case里的break去掉,那么每个case里的代码块会依次都执行到

5.switch语句可以不写default,但是作为好的习惯,建议保留default语句

实例

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


 实例

我们来写一个简单的星期判断:

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 //得到今天是星期几的英文简称
 $day = date('D');
 
 switch($day){
     //拿学校举例,我们让星期一、二、三是校长日
     case 'Mon':
     case 'Tue':
     case 'Wed':
         echo '校长日';
         break;
     case 'Thu':
         echo '星期四';
         break;
     case 'Fri':
         echo '星期五';
         break;
     default:
         echo '周末,周末过的比周一到周五还要累<br />';
 }

看看今天星期几吧。


继续学习
||
<?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; } ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

PHP 零基础入门教程

高并发千万级数据库系统解决方案
  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载

Sama

“南”的英文单词是"south",不是"sourth"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

6年前    添加回复 0

lanfox

$day=date('l'); switch($day){ case 'Monday': echo '今天星期一'; break; case 'Tuesday': echo '今天星期二'; break; case 'Wednesday': echo '今天星期三';

6年前    添加回复 0

看透不说透

switch 有时候用这个还是很方便的,但是注意下break和continue这俩个语句的差别!

7年前    添加回复 0

最后这个输出为什么是校长日啊?

[最新 ringa_lee 的回答] data('Y-m-d')  里面的字母参数分别表示的是年,月,日

时间:6年前

$a = 8-6.6; $b = 1.4; var_dump($a == $b); 为什么输出是false

[最新 数据分析师 的回答] $a = 8-6.6; $b = 1.4; var_dump($a == $b); 为什么输出是false-PHP中文网问答- $a = 8-6.6; $b = 1.4; var_dump($a == $b); 为什么输出是false-PHP中文网问答围观一下哦,学习一下。

时间:7年前

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~