最新公告
  • 欢迎您光临波比源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 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. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

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

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    波比源码
    一个高级程序员模板开发平台
    升级波友尊享更多特权立即升级