reminder

做對每一件小事,做對每一個細節,能夠做到一百分的事,就不要只做六十分敷衍過去。

即將消失的自助新村.眷村裡迷路舊草嶺環狀自行車道 20 公里行.西部小旅行:阿里山森林鐵路車庫園區&北門車站台糖烏樹林休閒園區永保安康&橋頭糖廠打狗鐵道故事館&駁二旗山里港&屏東彰化扇形車庫大肚成功.出島計畫:馬公北環湖西+南環馬公.支線之旅:平溪舊山線林口線鼻頭角步道野柳地質公園猴硐.七堵鐵道公園一滴水紀念館.淡水淡水天元宮賞櫻烏來土城桐花祭三芝天使光桃園忠烈祠.南部旅行:板橋→台南台南→永康→保安→橋頭→左營→鼓山→旗津→鳳山鳳山→竹田→枋寮→加祿→古莊→鳳山鳳山→台南→台中→新竹→板橋.一個人環島:楔子台北→花蓮花蓮→台東台東→枋寮→南州→鳳山→高雄→鳳山鳳山→高雄→二水→集集→車埕→台中台中→新竹→竹東→內灣→竹東→新竹→板橋

未完待續…

狀況大概是這樣: 一個字串變數的可能值是 ABCD...YZ 26個英文大寫字母。是 ADE...YZ 的時候,執行 if 裡的條件;是 B 或 C 的時候,要執行 else 裡的條件式。

一開始的想法是寫成不是 B 或 C 的時候去找 if


$a = "A";
if ( !( ($a == "B") || ($a == "C") ) ):
    echo "OK";
else:
    echo "XX";
endif;

到這邊沒問題。後來想要把 ! 丟進去,所以變成:


$a = "A";
if ( ($a != "B") && ($a != "C") ):
    echo "OK";
else:
    echo "XX";
endif;

到這裡也沒問題。後來想說那能不能這樣子寫:


$a = "A";
if ( $a != ("B" || "C") ):
    echo "OK";
else:
    echo "XX";
endif;

結果就爆炸了。

然後就用了 var_dump() 來幫助自己理解問題在哪裡。找了半天發現問題在於 ("B"||"C") 的結果: bool(true) 。XDD

最後重新看一遍,發現問題在於一開始的想法:「不是 B 或 C 」,其實是「不是 B 也不是 C 」…


Tags: php if else not or var_dump 不是 或 也不是


創作者介紹

旅行的記憶

repeat<')">< 發表在 痞客邦 PIXNET 留言(2) 人氣()

留言列表 (2)

發表留言
  • gslin
  • switch ($a) {
    case 'A':
    // ...
    break;
    case 'B':
    // ...
    break;
    default:
    // ...
    break;
    }
  • Balous
  • 哈哈...想不到妳也會放這種..邏輯上的錯...
  • 沒學過的話犯這些錯很正常吧 @_@?

    repeat<')">< 於 2010/01/07 19:20 回覆

找更多相關文章與討論

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼