El operador ternario dejó asociatividad

En el manual de PHP, encuentrola siguiente 'nota contribuida por el usuario' bajo "Operadores".

Tenga en cuenta que en php el operador ternario?: Tiene una asociatividad de izquierda, a diferencia de C y C ++, donde tiene una asociatividad de derecha.

No puede escribir código como este (como puede haberse acostumbrado en C / C ++):

<?php 
$a = 2; 
echo ( 
    $a == 1 ? 'one' : 
    $a == 2 ? 'two' : 
    $a == 3 ? 'three' : 
    $a == 4 ? 'four' : 'other'); 
echo "\n"; 
// prints 'four' 

En realidad lo intento y realmente se imprime.four. Sin embargo, no pude entender la razón detrás de esto y todavía siento que debería imprimirtwo oother.

¿Alguien puede explicar qué está sucediendo aquí y por qué está imprimiendo 'cuatro'?

Respuestas a la pregunta(5)

Su respuesta a la pregunta