我有一個非常奇怪的語法問題。有人能告訴我這是爲什麼不工作:PHP邏輯運算符
if (! is_single() || ! is_archive())
但這是: if (! is_single() || is_archive())
,我怎麼能拿第一條語句工作? 在此先感謝!
編輯:當答案出現時,我還在編輯問題。無論如何,我應該提到我的意思是一種語法。我意識到這兩個陳述的邏輯是不一樣的。所以!
必須放在外面。多謝你們。
我有一個非常奇怪的語法問題。有人能告訴我這是爲什麼不工作:PHP邏輯運算符
if (! is_single() || ! is_archive())
但這是: if (! is_single() || is_archive())
,我怎麼能拿第一條語句工作? 在此先感謝!
編輯:當答案出現時,我還在編輯問題。無論如何,我應該提到我的意思是一種語法。我意識到這兩個陳述的邏輯是不一樣的。所以!
必須放在外面。多謝你們。
!
(negate)運算符在PHP中具有更高的precedence。這就是爲什麼你需要把你的第二個表達式括在括號裏:
if (! (is_single() || is_archive()))
讓它按照你的期望工作。
謝謝你,這就是我正在尋找的! – charlenemasters
使用此
if (!(is_single() || is_archive()))
你說這個代碼是不工作...
if (! is_single() || ! is_archive())
...但這是:
if (! is_single() || is_archive())
但這不是一個邏輯。
NOT is_single() OR NOT is_archive()
NOT is_single() OR is_archive()
當您使用第一個會發生什麼聲明?你的問題 – aynber
不清楚,你想實現什麼?我想你需要'&&'而不是'||' – 2013-08-28 13:27:41
你想要做什麼?用我們的文字寫下你的邏輯。 –