php中switch语句的用法介绍

本文章详细的介绍了switch语句在php中用法,以及switch case在条件为0时的处理办法,有需要了解的同学可以参考一下.

Switch 语句

如果您希望有选择地执行若干代码块之一,请使用 Switch 语句.

使用 Switch 语句可以避免冗长的 if..elseif..else 代码块.

实例代码如下:

  1. switch (expression) 
  2. case label1: 
  3.   code to be executed if expression = label1; 
  4.   break;   
  5. case label2: 
  6.   code to be executed if expression = label2; 
  7.   break
  8. default
  9.   code to be executed 
  10.   if expression is different  
  11.   from both label1 and label2; 

实例

工作原理:

对表达式(通常是变量)进行一次计算 

把表达式的值与结构中 case 的值进行比较 

如果存在匹配,则执行与 case 关联的代码 

代码执行后,break 语句阻止代码跳入下一个 case 中继续执行 

如果没有 case 为真,则使用 default 语句

实例代码如下:

  1. switch ($cps_sign) { 
  2.         case 'yiqifa'
  3.         case 'chengguo'
  4.         case 'roiyiqifa'
  5.         case 'lkt'
  6.         case 'fanli'
  7.         case 'qqfanli'
  8.         case 'weiyi'
  9.         case 'yoyi'
  10.             $sql = "INSERT into sa_cps_list (`uv`,`s_time`,`cps`,`url`) VALUES ('{$uv}',{$timestamp},'{$cps_sign}','{$url}')"
  11.             echo $sql;exit(); 
  12.             mysql_query($sql); 
  13.             break
  14.         default
  15.             break
  16.     } 

仔细看了一下程序,莫非是switch和case惹的祸?于是,写DEMO检测.

//输出结果为:bool(true) bool(false) xxx

实例代码如下:

  1. var_dump(""==0);     
  2. var_dump(""===0); 
  3. $errid = ''
  4. switch ($errid) { 
  5.     case 0 : 
  6.         echo "xxx"
  7.         break
  8.     default
  9.         echo "yyy"

真相大白了,原来 switch/case结构中,比较case值用的是==而不是===.这样,空就和0相等了,我收到的结果也当然就是错误的了.

没办法,程序不想改,毕竟多条件的时候switch/case要比一堆if让人看着舒心.想办法吧.呵呵.

实例代码如下:

  1. $result = ''
  2. if(is_numeric($err_id) === false) {   
  3. $result .= '宕机或超时,没有返回值';  
  4. return $result
  5. switch ($err_id) { 
  6.     case xxx : 
  7.         ………. 

问题解决了,先判断一下返回值是否是数值,如果不是数值的话,直接return.

以后写switch/case判断数字的时候一定要小心,尤其是有0这个败家值存在的时候

switch 语句和 elseif 语句的比较

在switch 语句中,条件只求一次,然后和每个 case 比较,而在 elseif 语句中,条件会再次求值.如果你的条件比较复杂,或者是多次循环,用 switch 语句速度会更加快些

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php中switch语句的用法介绍

26 评论

  1. order avodart 0.5mg online cheap celecoxib sale zofran 4mg pill

  2. purchase modafinil provigil uk buy acetazolamide 250mg pill

  3. imuran 100 mcg usa viagra 50mg viagra 100mg price

  4. glycomet 500mg canada lipitor 40mg us tadalafil 20mg for sale

  5. buy linezolid 600 mg slot casino casino online games

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡