首页 >后端开发 >php教程 >'AND”与'&&”:逻辑运算中什么时候应该优先考虑可读性而不是优先级?

'AND”与'&&”:逻辑运算中什么时候应该优先考虑可读性而不是优先级?

Barbara Streisand
Barbara Streisand原创
2024-12-14 20:22:16154浏览

`AND` vs `&&`: When Should You Prioritize Readability Over Precedence in Logical Operations?

“AND”与“&&”作为运算符:可读性和精度的问题

在编程世界中,使用“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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn