逻辑运算符:需要一些不同的眼光来看待这个问题.可以';我想不通


Logical Operator: Need some different eyes on this one. Can't figure it out

我有下面的代码,它的结果是带有or||逻辑运算符的true。我删除了第二个条件,它按预期工作。我在这里做错了什么?

$user = trim(get_user_role());
    if ($user != 'administrator' or $user != 'editor'){
       echo '<script type="text/javascript">';
       echo 'jQuery(".nav > li").eq(2).hide();';
       echo 'jQuery(".nav > li").eq(3).hide();';
       echo '</script>';        
}

我甚至echo是用户,它是管理员,所以我知道这个部分是正确的。

如果$user不是管理员或$user不是编辑器,则说明。因此,如果$user不是管理员,则它是true;如果$user不是编辑器,则它就是true

您想要使用AND &&:

if ($user != 'administrator' && $user != 'editor'){

好吧,想想看。

if($user != 'administrator'... -> False->($user = 'administrator')->Check next condition.
|| $user != 'editor' -> True->($user = 'administrator)->execute.

您需要在此处使用&&