'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
