购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.3 switch语句

switch语句结构可以在条件相同时,对不同的结果分别执行操作,应用格式如下。

其中,当<表达式>的值是<值1>时执行<语句块1>,<表达式>的值是<值2>时执行<语句块2>,以此类推;当没有对应的值时执行<语句块n>。

switch语句结构中,case语句块可以对应和处理多个不同的值;default语句块也可以不定义,但如果定义,它只能出现一次,用于处理case语句块没有处理的情况。

下面的代码演示了switch语句结构的使用。

执行代码会显示“红色”,可以修改$color变量的值来观察执行结果。

需要注意的是,每个case语句块都使用break语句中断,否则会向下贯穿,下面的代码演示了这一特性。

代码中,当$month变量的值是1、3、5、7、8、10时没有处理代码,也没有break语句中断,这些case块会向下贯穿,直到$month为12时才将$daysInMonth变量的值设置为31,并使用break语句结束switch语句结构。随后的情况也是这样的,当$month变量的值是4、6、9时也会向下贯穿,直到$month变量为11时才将$daysInMonth变量的值设置为30,并使用break语句结束switch语句结构。当$month变量等于2时,会根据是否为闰年来给$daysInMonth变量赋值。

请注意,本例并没有使用default语句块处理其他情况,这是有前提条件的,因为$daysInMonth变量的初始值已经被赋予0,所以,如果月份数据指定不正确,它的值就是0;对于没有初始值或默认值的情况,应使用default语句块处理特殊情况,避免不可预知情况造成的程序崩溃。

页面显示结果见图4-4,可以修改$year、$month和$daysInMonth变量的值来观察运行结果。

图 4-4 Zbq7VpdtFnav9p6wp31xpPXp2vBL/F68ykQWN8t2U2MilY3HKkcrEMjVbD3O6pSy

点击中间区域
呼出菜单
上一章
目录
下一章
×