Я знаю разницу между and
против &&
а также or
против ||
в PHP они имеют разный приоритет при разборе (руководство).
Мой вопрос: почему они существуют, какова историческая причина, каково было намерение создателей языка ввести несколько, но не равных экземпляров одного и того же математического оператора?
Из комментариев на предыдущая страница
Обратите внимание на разницу приоритетов между ‘и против &&’или’ || против или ‘:
<?php
$bool = true && false;
var_dump($bool); // false, that's expected
$bool = true and false;
var_dump($bool); // true, ouch!
?>
Потому что «и / или» имеют более низкий приоритет, чем «=», но «|| /&&«есть выше.
Других решений пока нет …