你想要做什麼你的英文說明是好的,但是當你到了代碼,有一個翻譯錯誤。
這裏是你說你想要的行爲:
如果REQUEST_URI = /index.php?task=join & '或' /index.php?task=join &步= 1 '或' /index.php?task=join &步= 2 >>> 包括INC/JS/script.php的
當你這樣說的話,很明顯的是, 「不」(在!在!= )適用於所有的URI。所以讓我們打破了,不是和使用方括號來表示,它適用於一切:
如果不是(REQUEST_URI = /index.php?task=join &「或」 /index.php?task=join &步= 1 '或' /index.php?task=join &步= 2)>>> 包括INC/JS/script.php的
我們從英語讓我們到近代碼,我們只需要把事情說得更完整:
if ! (REQUEST_URI == /index.php?task=join& or
REQUEST_URI == /index.php?task=join&step=1 or
REQUEST_URI == /index.php?task=join&step=2)
include inc/js/script.php
這實質上是Jon Skeet提出的解決方案。作爲進一步的說明,這裏是爲什麼你的代碼工作,如果你將|| s更改爲& & s。你已經基本上重新發現邏輯的衆所周知的規則叫德·摩根定律(在薩爾曼A的評論簡稱),它有兩種形式(其中「< ==>」的意思是「當且僅當」):
- !(A || B)< ==>!甲& &!乙
- !(A & & B)< ==>!甲|| !乙
據德·摩根定律的形式1,上面的代碼,因此是一樣的
if (!REQUEST_URI == /index.php?task=join& and
!REQUEST_URI == /index.php?task=join&step=1 and
!REQUEST_URI == /index.php?task=join&step=2)
include inc/js/script.php
這是一樣的
if (REQUEST_URI != /index.php?task=join& and
REQUEST_URI != /index.php?task=join&step=1 and
REQUEST_URI != /index.php?task=join&step=2)
include inc/js/script.php
聽過[德摩根定律](http://en.wikipedia.org/wiki/De_Morgan's_laws) – 2012-03-01 09:32:03