'AND'vs'&&'作为运算符
我有一个代码库,开发人员决定使用AND
和OR
而不是&&
和||
。
我知道运算符的优先级(&&
之前and
)有所不同,但是使用给定的框架(准确地说是PrestaShop),这显然不是原因。
您正在使用哪个版本?是and
不是更具有可读性&&
?还是没有区别?
回答:
如果使用AND
和OR
,最终将被如下所示绊倒:
$this_one = true;$that = false;
$truthiness = $this_one and $that;
想猜得出什么$truthiness
相等吗?
如果您说false
… bzzzt,对不起,错!
$truthiness
以上具有价值true
。为什么?
=
具有比更高的优先级and
。添加括号以显示隐式顺序可以使这一点更加清楚:
($truthiness = $this_one) and $that
如果您使用&&
而不是and
第一个代码示例中的示例,它将可以按预期方式运行,并且为false
。
如以下注释中所述,这也可以获取正确的值,因为括号的优先级高于=
:
$truthiness = ($this_one and $that)
以上是 'AND'vs'&&'作为运算符 的全部内容, 来源链接: utcz.com/qa/417195.html