PHP switch
示例
该switch结构执行与一系列if语句相同的功能,但是可以用更少的代码行完成这项工作。switch比较语句中定义的要测试的值与每个case语句中的值是否相等,直到找到匹配项并执行该块中的代码为止。如果找不到匹配的case语句,default则执行块中的代码(如果存在)。
case或default语句中的每个代码块都应以该break语句结尾。这将停止执行switch结构,并在此后立即继续执行代码。如果break省略该case语句,即使没有match,也将执行下一条语句的代码。如果break忘记了该语句,这可能会导致意外的代码执行,但在多个case语句需要共享同一代码的情况下也很有用。
switch ($colour) {
case "red":
echo "the colour is red";
break;
case "green":
case "blue":
echo "the colour is green or blue";
break;
case "yellow":
echo "the colour is yellow";
//注意缺少中断,下一个程序段也将执行
case "black":
echo "the colour is black";
break;
default:
echo "the colour is something else";
break;
}除了测试固定值之外,还可以通过为语句提供布尔值和为switch语句提供任何表达式来强制构造以测试动态case语句。请记住,使用的是第一个匹配值,因此以下代码将输出“大于100”:
$i = 1048;
switch (true) {
case ($i > 0):
echo "more than 0";
break;
case ($i > 100):
echo "more than 100";
break;
case ($i > 1000):
echo "more than 1000";
break;
}有关在使用switch构造时键入松散的可能问题,请参阅切换惊喜