逻辑运算符 - “or” 与 “||”(双管)在 PHP 中

2022-08-31 00:49:55

我一直使用(双管)和.||if (($a == $b) || ($a == $c)) { }ordo_this() or do_that();

为什么不呢?if (($a == $b) or ($a == $c)) { }do_this() || do_that();

是否有理由使用这两个逻辑运算符中的任何一个,或者它只是个人偏好?

这同样适用于 vs. ,我只使用 。&&and&&


答案 1

“拼写出来”运算符的优先级较低,甚至低于赋值,因此您可以使用它们来避免在很多地方编写括号。例如:andor

$d=$a||$b and $c等效于($d=$a||$b) && $c

它们在许多情况下也更具可读性。


答案 2

两个不同的版本以不同的优先级运行:

http://www.php.net/manual/en/language.operators.precedence.php


推荐