Мой вопрос скорее относится к внутреннему устройству php и оптимизациям которые сделали его разработчики.
Итак на самом деле всё просто даже элементарно выражения: (1 || 0 && 0) возвращает true и ((1 || 0) && 0) возвращает false, сдесь всё правильно приоритет оператора && выше чем || поэтому всё работает как надо.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function f($x) {
- echo $x;
- return false;
- }
- (f(1) || f(2) && f(3));
- (f(1) || (f(2) && f(3)));
- // выводит 1212