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) |