如果纯粹比较数字或字符,建议使用switch,因为它只会在一开始的switch括号中取出变量值一次,然后将这个值与下面所设定的case比较,但如果使用if,每次遇到条件式时,都要取出变量值,效率的差异就是因为这个

$a = 3;
if($a == 1)
//...
else if($a == 2)
//...
else if($a == 3)
//...

上面这行代码在$a为3时,共需3次比较,而每次比较都必须取出变量a的值一次

$a = 3;
switch($a)
{
case 1:
//...
break;
case 2:
//...
break;
case 3:
//...
break;
}

switch代码段在$a为3时,只需要取出一次$a的值,然后跟case的值匹配,匹配到特定值之后直接跳转至代码段