为什么 OR 运算符总是 returns 即使满足其中一个条件?

Why OR operator always returns even if it meets one of the conditions?

为什么 OR 运算符总是 returns,即使 $type 满足其中一个条件? 从逻辑上讲,它应该检查 $type 是否不是一个或两个。如果不是 ONE,它应该恢复。

function my_function(){     
        if( $type !== 'one' || $type !== 'two' ) return;
        ?>

当我使用 AND 运算符时,它会检查是否满足其中一个条件? 从逻辑上讲,它应该不是一个也不是两个而不是 return。

function my_function(){     
        if( $type !== 'one' && $type !== 'two' ) return;
        ?>

这让我大吃一惊)) 请有人解释一下...

将 OR 运算符用于否定测试可能会非常混乱。在您的 OR 示例中,测试将始终为真。您是在说“如果值不是一或不是二”。因为它永远不可能既是一又是二,所以表达式总是假的。

AND 运算符就是您想要的。它说“如果它不是一个也不是两个”。所以只有当值既不是一也不是二时它才为真。