2.6.3 switch结构
上一小节讲述了使用if或者if……else语句的选择控制结构,if语句通常需要计算逻辑表达式的值。本小节将介绍另一种选择控制结构——switch结构,它不需要计算逻辑表达式的值。switch的语法结构如下所示。
switch(expr)
{
case value1:
statement1
break;
case value2:
statement2
break;
……
case valuen:
statementn
break;
default:
statement
}
注意 在PHP中,switch、case、break和default都是保留关键字。
switch结构首先计算表达式expr的值,如果expr的值与某个case的值匹配,则从case后面的语句开始执行,直到遇到break语句(该语句将在后面详细介绍)或整个switch结构结束。比如,如果expr的值是value2,那么语句statement2将会被执行。
如果expr的值不与任何case值匹配,则执行default后面的语句。如果没有default语句,而且表达式expr的值不与任何case值匹配,那么程序从switch结构中跳出。代码2-25是一个switch结构的示例程序。
代码2-25 switch结构2-25.php
01 <?php
02 $a=3;
03 switch($a)//使用switch结构判断变量$a的值
04 {
05 case 1://如果是1
06 echo"It's January";
07 break;
08 case 2://如果是2
09 echo"It's February";
10 break;
11 case 3://如果是3
12 echo"It's March";
13 break;
14 case 4://如果是4
15 echo"It's April";
16 break;
17 default://如果都不是的情况
18 echo"Other months";
19 }
20 ?>
【代码解析】如果变量$a的值不在1~4,则默认执行default下面的语句。读者可更改变量$a的值进行测试。程序执行结果如图2-19所示。