PHP语言中的Switch语句用于执行众多代码语句之一。它可以被视为一组 if-else 语句。
语法
switch (expression){
case 1:
statement 1;
break;
case 2:
statement 2;
break;
...
...
...
case N:
statement N;
break;
default:
default statement;
}
对 Switch 表达式进行求值并与情况进行匹配。当 Case 匹配时,执行以下代码块。
流程图:
示例:
在下面的示例中,switch 表达式是一个名为 i 的变量值为 2,与 case 值相匹配。当 case 值与表达式值匹配时,执行case以下代码块。
<?php
$i = 2;
switch($i){
case 1:
echo "Red\n";
break;
case 2:
echo "Blue\n";
break;
case 3:
echo "Green\n";
}
?>
上述代码的输出将是:
Blue
default 和 break 语句
这里的Default case和break语句是可选的。
- Default Case:当switch表达式和测试用例不匹配时,执行Default语句。
- Break 语句:Break 语句用于在找到匹配项后跳出 Switch 语句。
示例:
在下面的示例中,switch 表达式是一个名为 i 的变量,其值为 10,与 case 值相匹配。由于没有与值10匹配的大小写,因此执行default代码块。
<?php
$i = 10;
switch($i){
case 1:
echo "Red\n";
break;
case 2:
echo "Blue\n";
break;
case 3:
echo "Green\n";
break;
default:
echo "未找到匹配项.\n";
}
?>
上述代码的输出将是:
未找到匹配项.
请注意,default语句可以放在switch语句中的任意位置。在这种情况下,请添加 break 语句和 default 语句。
示例:
考虑下面的示例,其中 default 语句放在 switch 语句的顶部。
<?php
$i = 10;
switch($i){
default:
echo "未找到匹配项.\n";
break;
case 1:
echo "Red\n";
break;
case 2:
echo "Blue\n";
break;
case 3:
echo "Green\n";
}
?>
上述代码的输出将是:
未找到匹配项.
通用代码块
在某些情况下,多个情况下需要相同的代码块。
示例:
在下面的示例中,不同的 switch 共享相同的代码块
<?php
$i = 10;
switch($i){
case 1:
echo "Red\n";
break;
case 2:
case 10:
echo "Blue\n";
break;
case 3:
case 4:
case 5:
echo "Green\n";
}
?>
上述代码的输出将是:
Blue