php中switch与ifelse的效率性能对比

关于switch与ifelse的区别我们不用介绍了,这里我来给大家介绍switch与ifelse性能吧,到底什么时候更适合使用switch还是ifelse呢。

PHP中有两个方法都是用于判断值是否满足条件,如果满足/不满足做出不同行为动作,不管写什么语言的程序,一定会考虑到代码的运行效率问题,在查阅了一些资料后,switch与ifelse在不同的‘环境’下效率各有优胜。

1、当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高;实例代码如下:

  1. $changliang=3; // 变判断的值为常量
  2. switch($changliang){
  3. case 1:
  4. echo '常量值为1';
  5. break; // 跳出循环
  6. case 2:
  7. echo '常量值为2';
  8. break;
  9. case 3:
  10. echo '常量值为3';
  11. break;
  12. }

2、当被判断值为变量,ifelse的运行效率高于switch,ifelse贯彻一判到底的方针,会从第一个条件开始判断,直到最后一个else,所以学会使用switch有好处,实例代码如下:

  1. $a = $_GET['a']; // 通过get传值后接值; 被判断的值
  2. if($a=1){
  3. echo '变量a的值为1';
  4. }elseif($a=2){
  5. echo '变量a的值为2';
  6. }elseif($a=3){
  7. echo '变量a的值为3';
  8. }else{
  9. echo '变量a的值为不知道';
  10. }