PHP逻辑运算符
我有一个非常奇怪的语法问题。有人能告诉我为什么这不起作用吗:PHP逻辑运算符,php,logical-operators,Php,Logical Operators,我有一个非常奇怪的语法问题。有人能告诉我为什么这不起作用吗: 如果(!is_single()| |!is_archive()) 但这是: 如果(!is_single()| is_archive()) 我怎样才能让第一句话起作用? 提前谢谢 编辑:答案出来时,我还在编辑问题。无论如何,我应该提到我指的是a语法。我知道这两种说法的逻辑是不一样的。所以必须放在外面。谢谢大家。(否定)运算符在PHP中具有更高的值。这就是为什么需要将第二个表达式括在括号中: if ( ! (is_single() ||
如果(!is_single()| |!is_archive())
但这是:
如果(!is_single()| is_archive())
我怎样才能让第一句话起作用?
提前谢谢
编辑:答案出来时,我还在编辑问题。无论如何,我应该提到我指的是a语法。我知道这两种说法的逻辑是不一样的。所以代码>必须放在外面。谢谢大家。代码>(否定)运算符在PHP中具有更高的值。这就是为什么需要将第二个表达式括在括号中:
if ( ! (is_single() || is_archive()) )
要让它按您的期望工作。请使用此选项
if (!(is_single() || is_archive()))
你说这个代码不起作用
如果(!is_single()| |!is_archive())
……但这是:
如果(!is_single()| is_archive())
但逻辑不同
不是单一的(或不是存档的(
不是单一的()或是存档的()
当你使用第一句话时会发生什么?你的问题不清楚,你想实现什么?我想你需要&&
而不是|
你想做什么?用文字写下你的逻辑。当你在代码中加入以下内容时,你会得到什么:echo var_dump(is_single()),'',var_dump(is_archive())代码>如果它们都是真的,那么这两个条件都是假的。这两个语句将给出不同的结果谢谢这就是我要找的!