好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php中 if Else 与Switch 语句对比

在php中if Else 与Switch都是条件判断语句了,那么很多的新学php的朋友搞不清楚php中 if Else 与Switch区别在哪里,下面本文就重点介绍一下.

在网上找到一句:switch比较if具有速度优势,一个是采取转移地址列表的方法;还有就是switch一般在松散的情况下也多不采取"比较-转移 "的方法,而是用dec(sub)-jz的指令对,后者不仅是指令的长度变短了,速度上也有优势.

下面我们来验证一下吧:

If…Else 语句

如果您希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if….else 语句.

语法,代码如下:

if  (condition)  //设置条件     code to be executed  if  condition is true;  //如果条件为真的代码被执行;   else     code to be executed  if  condition is false;   //如果条件为假,代码被执行  

实例1,如果当前日期是星期一,下面的代码将输出 [星期一快乐],否则会输出 [天天快乐],代码如下:

<?php  $d = date ( "D" );  //变量d赋值   if ( $d == "Mon" ){    echo   "星期一快乐!" ;  } else {    echo   "天天快乐!" ;  }  ?> 

实例2,如果d等于1时输出[数字1],否则输出[数字不是1],代码如下:

<?php  $d =2;  //变量d赋值   if ( $d ==1){    echo   "数字1" ;  //变量d等于1时输出的值   } else {    echo   "数字不是1" ;  //不等于1时输出的值   }  ?> 

Switch 语句

语法,代码如下:

switch  (expression)  {  case  label1:    code to be executed  if  expression = label1;     break ;    case  label2:    code to be executed  if  expression = label2;     break ;  default :    code to be executed     if  expression is different     from both label1  and  label2;  } 

实例,工作原理:

对表达式(通常是变量)进行一次计算,把表达式的值与结构中 case 的值进行比较,如果存在匹配,则执行与 case 关联的代码,代码执行后,break 语句阻止代码跳入下一个 case 中继续执行,如果没有 case 为真,则使用 default 语句,代码如下:

<?php  switch  ( $x )  {  case  1:     echo   "Number 1" ;     break ;  case  2:     echo   "Number 2" ;     break ;  case  3:     echo   "Number 3" ;     break ;  default :     echo   "No number between 1 and 3" ;     //开源代码phpfensi测试数据   }  ?> 

总结3点:

1.PHP中有两个方法都是用于判断值是否满足条件,如果满足/不满足做出不同行为动作.

2.switch中的步长越短,效率越高,而if else 则更灵活,适合不只一个变量的比较.

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

 

查看更多关于php中 if Else 与Switch 语句对比的详细内容...

  阅读:50次