corresponding nested ternary operator in php? и In which order are nested short hand assignments evaluated? объясняют, что тернарные операторы в PHP не оценивают, как ожидалось.Почему длинная и короткая формы тернарного оператора оцениваются по-разному?
Смотрите этот пример:
echo 0 ?: 1 ?: 2 ?: 3; //1
echo 0 ? 0 : 1 ? 1 : 2 ? 2 : 3; //2
Даже читая документы я до сих пор не в состоянии понять, почему короткие и длинные формы оцениваются по-разному?
Что вы не понимаете? У вас уже есть вопрос с правильным обманом, в котором объясняется, что троянец остается ассоциативным – Rizier123
@ Rizier123, но если оба примера лево-ассоциативны, почему они выводят разные значения? использует ли внутренняя группа с короткой рукой или имеет другой порядок приоритета? – billyonecan
@billyonecan Потому что они разные тернарные операторы, ваши 2 строки разные – Rizier123