switch 语句类似于具有同一个表达式的一系列 if 语句。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。
使用switch 可以使代码显得更简洁。
如下:
$a = '2';
switch ($a){
case 2 === $a:
echo '(int) 2<br />';
break;
case '2' === $a:
echo '(string) 2<br />';
break;
default:
echo 'no';
break;
}
输出:(string) 2
使用switch 有几个需要注意的点:
1. 每一个case之后应追加break;否则会进行连续判断。举个例子:
$a = '2';
switch ($a){
case 2 === $a:
echo '(int) 2<br />';
break;
case '2' === $a:
echo '(string-1) 2<br />';
// break;
case 2 == $a:
echo '(string-2) 2<br />';
break;
default:
echo 'no';
break;
}
输出:
(string-1) 2
(string-2) 2
2. 使用强类型判断,例子还是如上。 因PHP是弱类型语言,他会自动根据变量的值,自动把变量转换为正确
的数据类型。
请注意,不要因为上面的原因,造成不必要的困扰。