Я всегда использовал ||
(double pipe) для if (($a == $b) || ($a == $c)) { }
и or
для do_this() or do_that();
,
Почему бы не if (($a == $b) or ($a == $c)) { }
или do_this() || do_that();
do_this() || do_that();
?
Есть ли причина использовать любой из этих двух логических операторов, или это просто личное предпочтение?
То же самое относится к &&
vs and
, в котором я использую &&
.
«Выписанные» операторы and
or
имеют более низкий приоритет, даже ниже, чем назначение, поэтому вы можете использовать их, чтобы избежать необходимости писать круглые скобки во многих местах. Например:
$d=$a||$b and $c
эквивалентно ($d=$a||$b) && $c
Они также более читабельны во многих контекстах.
Две разные версии работают в разных приоритетах:
http://www.php.net/manual/en/language.operators.precedence.php