多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > php中switch語句的用法介紹

php中switch語句的用法介紹

來源:程序員人生   發(fā)布時間:2014-03-28 00:07:03 閱讀次數(shù):2791次

本文章詳細的介紹了switch語句在php中用法,以及switch case在條件為0時的處理辦法,有需要了解的同學可以參考一下.

Switch 語句

如果您希望有選擇地執(zhí)行若干代碼塊之一,請使用 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; 

實例

工作原理:

對表達式(通常是變量)進行一次計算 

把表達式的值與結(jié)構(gòu)中 case 的值進行比較 

如果存在匹配,則執(zhí)行與 case 關聯(lián)的代碼 

代碼執(zhí)行后,break 語句阻止代碼跳入下一個 case 中繼續(xù)執(zhí)行 

如果沒有 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檢測.

//輸出結(jié)果為: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結(jié)構(gòu)中,比較case值用的是==而不是===.這樣,空就和0相等了,我收到的結(jié)果也當然就是錯誤的了.

沒辦法,程序不想改,畢竟多條件的時候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.         .......... 

問題解決了,先判斷一下返回值是否是數(shù)值,如果不是數(shù)值的話,直接return.

以后寫switch/case判斷數(shù)字的時候一定要小心,尤其是有0這個敗家值存在的時候

switch 語句和 elseif 語句的比較

在switch 語句中,條件只求一次,然后和每個 case 比較,而在 elseif 語句中,條件會再次求值.如果你的條件比較復雜,或者是多次循環(huán),用 switch 語句速度會更加快些

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 97理论三级九七午夜在线观看 | 国产精选第一页 | 日韩18| 亚洲伦乱 | 国产成人高清亚洲一区91 | 视频二区 调教中字 知名国产 | 欧美色综合高清免费 | 久久性妇女精品免费 | 最新jizz 欧美 | 免费成人在线播放 | 欧美激情久久久久久久久 | 国产精品欧美一区二区三区 | 日韩久久网 | 国产一区二区三区在线观看精品 | 久久成人永久免费播放 | 免费网址在线观看 | 一级欧美激情毛片 | 最猛黑人xxxⅹ黑人猛交 | 另类 校园 春色 都市 亚洲 | 成人免费淫片免费观看 | 欧美日本一道免费一区三区 | 东北普通话清晰对白 | 欧美国产亚洲一区二区三区 | 性性影院在线观看 | 日本a一级片 | 国产91香蕉 | 欧美日韩亚洲二区在线 | 日韩一级片免费 | 国产69精品久久久久9999 | 久久精品国产亚洲网址 | 欧美极品xxxxⅹ另类 | 日本一区二区高清不卡 | 亚洲爱爱网站 | 国产欧美久久久另类精品 | 国内精品久久国产 | 国产免费叼嘿网站免费 | 亚洲精品久久久久网站 | 中文字幕色视频 | 久久久久久久久久久福利 | 国内精品久久久久久网站 | 亚洲最大在线视频 |