1、当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高;
function test(){
$jiejie=3; // 变判断的值为常量
switch($jiejie){
case 1:
echo '常量值为1';
break; // 跳出循环
case 2:
echo '常量值为2';
break; // 跳出循环
case 3:
echo '常量值为3';
break;
}
}
2、当被判断值为变量,ifelse的运行效率高于switch,ifelse贯彻一判到底的方针,会从第一个条件开始判断,直到最后一个else,所以学会使用switch有好处;
function test(){
$jie = $_POST['a'];
if($jie==1){
echo '变量a的值为1';
}elseif($jie===2){
echo '变量a的值为2';
}elseif($jie==3){
echo '变量a的值为3';
}else{
echo '变量a的值为不知道';
}
}
总结:
判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高;判断值为变量,ifelse的运行效率高于switch