在编程世界中,使用“AND”和“&&”之间的选择' 因为操作员可能看起来是一件微不足道的事情。然而,正如最近的代码库遭遇所证明的那样,这种选择可能会产生微妙但潜在的重大影响。
“&&”(逻辑与)和“||”的传统优先规则(逻辑 OR)表明“&&”的优先级分别高于“AND”和“OR”。然而,在像 PrestaShop 这样的某些框架中,这种优先级区别可能并不总是很明显。这就提出了一个问题:开发人员应该坚持“AND”和“OR”以提高可读性,还是拥抱“&&”和“||”
为了深入研究这个运算符争论的复杂性,让我们考虑以下代码片段:
$this_one = true; $that = false; $truthiness = $this_one and $that;
直觉上,人们可能会认为 $truthiness 是 false,因为 $that是假的。然而,由于优先级规则,$truthiness 实际上被赋予了 $this_one 的值,即 true。这是因为赋值运算符“=”的优先级高于“and”。
要解决此问题并获得预期结果,可以显式使用括号来强制执行预期的运算顺序:
$truthiness = ($this_one and $that);
或者,可以使用“&&”代替“and”,这将自动产生正确的结果评估:
$truthiness = $this_one && $that;
虽然“AND”和“OR”可能提供更好的可读性,但重要的是要意识到它们潜在的陷阱。通过使用“&&”和“||”凭借较高的优先级,开发人员可以避免意外结果并确保他们的代码按预期运行。
以上是'AND”与'&&”:逻辑运算中什么时候应该优先考虑可读性而不是优先级?的详细内容。更多信息请关注PHP中文网其他相关文章!