加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com.cn/)- 业务安全、应用安全、终端安全、数据分析、数据应用!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中switch语句的用法介绍

发布时间:2022-07-27 11:22:05 所属栏目:PHP教程 来源:互联网
导读:本文章详细的介绍了switch语句在php中用法,以及switch case在条件为0时的处理办法,有需要了解的同学可以参考一下。 Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。 使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。语
  本文章详细的介绍了switch语句在php中用法,以及switch case在条件为0时的处理办法,有需要了解的同学可以参考一下。
 
  Switch 语句
 
  如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。
  使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。语法:
 
  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 语句
 
  switch ($cps_sign) {  
          case 'yiqifa':  
          case 'chengguo':  
          case 'roiyiqifa':  
          case 'lkt':  
          case 'fanli':  
          case 'qqfanli':  
          case 'weiyi':  
          case 'yoyi':  
              $sql = "INSERT into sa_cps_list (`uv`,`s_time`,`cps`,`url`) VALUES ('{$uv}',{$timestamp},'{$cps_sign}','{$url}')";  
              echo $sql;exit();  
              mysql_query($sql);  
              break;  
          default:  
              break;  
      }  
  仔细看了一下程序,莫非是switch和case惹的祸?于是,写DEMO检测。
 
  输出结果为:bool(true) bool(false) xxx
 
  var_dump(""==0);      
  var_dump(""===0);  
  $errid = '';  
  switch ($errid) {  
      case 0 :  
          echo "xxx";  
          break;  
      default:  
          echo "yyy";  
  }  
  真相大白了,原来 switch/case结构中,比较case值用的是==而不是===。这样,空就和0相等了,我收到的结果也当然就是错误的了。
 
  没办法,程序不想改,毕竟多条件的时候switch/case要比一堆if让人看着舒心。想办法吧。呵呵。
 
  $result = '';  
  if(is_numeric($err_id) === false) {    
  $result .= '宕机或超时,没有返回值';   
  return $result;  
  }  
  switch ($err_id) {  
      case xxx :  
          ..........  
  } 

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读