68 lines
1.8 KiB
Markdown
68 lines
1.8 KiB
Markdown
|
---
|
|||
|
title: PHP Switch
|
|||
|
localeTitle: PHP开关
|
|||
|
---
|
|||
|
## PHP开关
|
|||
|
|
|||
|
PHP中的`switch`语句类似于同一表达式上的一系列`if`语句。 `switch`语句用于在不同条件下执行不同的操作。 `switch`语句的语法如下
|
|||
|
```
|
|||
|
switch (expression) {
|
|||
|
|
|||
|
case label1:
|
|||
|
// code block to be executed if there is a match with result of expression
|
|||
|
break;
|
|||
|
case label2:
|
|||
|
// code block to be executed if there is a match with result of expression
|
|||
|
break;
|
|||
|
case label3:
|
|||
|
// code block to be executed if there is a match with result of expression
|
|||
|
break;
|
|||
|
default:
|
|||
|
// code block to be executed if there is no match with result of expression
|
|||
|
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
当我们运行程序时,将评估`switch`语句中的表达式。如果存在匹配则使用相应的标签检查该表达式的结果,然后执行相应的`case`块。如果未找到任何case语句的匹配项,则仅执行`default`后面的代码块。
|
|||
|
|
|||
|
`switch`声明的例证与一个例子的
|
|||
|
```
|
|||
|
<?php
|
|||
|
|
|||
|
$i = 1
|
|||
|
switch ($i) {
|
|||
|
case 0:
|
|||
|
echo "i equals 0";
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
echo "i equals 1";
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
echo "i equals 2";
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
?>
|
|||
|
```
|
|||
|
|
|||
|
`switch`语句也可以在没有`break`语句的情况下使用。在这种情况下,匹配案例之后的陈述将被执行。下面是没有`break`语句的`switch`语句的用法。
|
|||
|
```
|
|||
|
<?php
|
|||
|
switch ($i) {
|
|||
|
case 0:
|
|||
|
echo "i equals 0";
|
|||
|
case 1:
|
|||
|
echo "i equals 1";
|
|||
|
case 2:
|
|||
|
echo "i equals 2";
|
|||
|
}
|
|||
|
?>
|
|||
|
|
|||
|
/*output --> i equals 0i equals 1i equals 2 */
|
|||
|
```
|
|||
|
|
|||
|
#### 更多信息:
|
|||
|
|
|||
|
[Switch语句 - PHP文档](http://php.net/manual/en/control-structures.switch.php)
|
|||
|
|
|||
|
[PHP5 Switch - W3Schools](https://www.w3schools.com/php/php_switch.asp)
|