0

为什么即使 $type 满足条件之一,OR 运算符也总是返回?从逻辑上讲,它应该检查 $type 是不是 ONE 还是不是 TWO。如果它不是 ONE,它应该恢复。

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

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

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

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

4

1 回答 1

1

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

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

于 2020-09-09T00:21:48.517 回答