第四章:第17节 PHP流程控制结构-switch语句

更新于:2017-02-11 23:54:35

我们学过了变量、数据类型和数据的一些运算符、运算方式。如果只会这些东西,我们顶多用PHP可以写出一个计算器,还不能写出具有一定功能的程序来。想想我们周边的生活,在高科技如此发达的今天,好多事情都是有程序去操作,不再浪费人力去干很多事情。


比如我们生活中的电梯,它就是用程序去操控的,不需要人手工操作。我们幻想下,假如自己是一台电梯,要把电梯里的乘客送到不同的楼层需要怎么做?肯定是一层一层上,一层一层下,在每一层都要检查下有没有乘客要出电梯,有没有乘客要进电梯。对于一个程序来说,只需要重复做两件事情就可以完成这样的工作,不停地做循环和判断。


有一天大家对PHP或者其他的编程语言很熟了以后,就明白了,写任何功能的程序无非都是在对一些数据不停地循环、判断、增删查改。


楠神从这节开始带领大家学习PHP流程控制结构:分支结构和循环结构,学习PHP的判断语句和循环语句。我们前面学过的if语句就属于PHP的分支结构,PHP里还有一个常用的分支结构语句——switch


switch语句:


switch(一个数据$v1{ //判断此v1变量跟下面的某个是否相等,如果相等,则进入对应进程。

case  状态值1

//进程1

[break;]

case  状态值2

//进程2

[break;]

case  状态值3

//进程3

[break;]

。。。。。。

[default 

//默认进程。

]

}


工作原理:首先对一个简单的表达式 (通常是变量$v1)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。


1.png

结果:

1.png



break通常都会用上;只有一些特殊数据或需求的时候,可能不用。


如果没有使用break,则一旦某个状态满足,就会继续执行后续状态中的进程代码,而不再判断。


1.png

把“小猪”后的“break”注释掉,结果:

1.png

“小图”也显示出来了。


1.png

结果:

1.png

default的作用,如果某值没有单独用case列出一项,就默认执行default项的代码。



switch与if语句的区别:


switch适用于判断指定的几个值,if适用于判断区间。


比如判断学生的分数依次把学生归类为“优秀”、“良好”、“及格”、“不及格”,显然用if语句比switch语句更好。


本节学习代码》》》