Найти тему
Пятиминутка PHP

PHP: приоритет операций, ассоциативность и порядок вычисления выражений

Наткнулся на интересную заметку Никиты Попова 10-летней давности, процитирую фрагмент:

Operator precedence and associativity specify grouping, but they do not specify in which order the groups are executed. PHP does NOT specify what will actually happen.

Пример:
$a + $b + $c * $d
Применяем приоритет операций:
$a + $b + ($c * $d)
Теперь левую ассоциативность сложения:
($a + $b) + ($c * $d)

Вопрос: какая группа будет вычислена раньше?

Ответ Никиты:

PHP does NOT specify what will actually happen... 🤷‍♂️ One version of PHP can give you one result and a different version another. Don't write code that depends on some particular evaluation order.

Я, честно говоря, думал что всегда слева направо (и практика подтверждает), но правильный ответ: "не стоит полагаться на порядок!" - PHP для анархистов!