ifelse switch 区别

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

猜你喜欢

转载自blog.csdn.net/qq_35014042/article/details/85000352