AND
我想知道使用单词(例如,OR
)而不是它们的代码等效项(&&
, )进行比较是否有任何缺点||
?除了后者是与许多其他编程语言兼容的语法之外,还有其他选择它们的理由吗?
问问题
1980 次
4 回答
5
与操作员一起使用时会出现意想不到的缺点=
。
$result = false || true; # true, $result is true
/* Translated to result = (false || true) */
和
$result = false or true; # true, $result is false
/* Translated to (result = false) or true */
于 2012-10-17T08:39:04.373 回答
1
PHP 手册(在Logical Operators中)讨论了您在问题中提出的问题:
“and”和“or”运算符的两种不同变体的原因是它们以不同的优先级运行。(请参阅运算符优先级。)
所以区别在于优先级,而不是每个运算符的逻辑含义。
在您的示例中:(x && y || z)
您(x AND y OR z)
不会看到两个表达式之间有任何区别。
于 2012-10-17T08:34:16.700 回答
0
它们做同样的事情,但&&
and||
运算符的优先级高于AND
and OR
。
基本上我认为这会变得令人困惑,所以如果你只坚持一种符号而不混合它们,你会没事的,你的代码将保持可读性。
于 2012-10-17T08:31:44.413 回答