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