是&&一样的"和",是||一样的PHP"或"?
我做了一些测试,看起来它们表现得一样.有什么不同吗?
如果没有,是否有任何其他PHP标志具有单词等价物,你认为它使代码更容易阅读?
Mch*_*chl 36
and并且or具有更高的优先级比&&和||.更确切地说,&&并且||具有比赋值运算符(=)更高的优先级and而且or具有更低的优先级.
http://www.php.net/manual/en/language.operators.precedence.php
通常它没有什么区别,但有些情况下,不知道这种差异可能会导致一些意外的行为.看这里的例子:
http://php.net/manual/en/language.operators.logical.php
小智 5
困扰我的是:
echo (false and false ? true : true);
// (empty/false)
Run Code Online (Sandbox Code Playgroud)
您可能会猜测只有“1”(真)的可能输出,因为没有任何情况可以输出假......但它会是“”(假)。
在这种情况下使用 && 作为运算符至少满足了我的期望:
echo (false && false ? true : true);
// 1
Run Code Online (Sandbox Code Playgroud)
因此,在某些情况下,使用非常重要。