在PHP手册中,我在“运算符”下面找到了以下的“用户贡献注释”。
请问有人可以解释一下这里发生了什么,为什么会打印出'four'吗?
我实际尝试了一下,它确实打印出了Note that in php the ternary operator ?: has a left associativity unlike in C and C++ where it has right associativity.
You cannot write code like this (as you may have accustomed to in C/C++):
<?php $a = 2; echo ( $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : $a == 4 ? 'four' : 'other'); echo "\n"; // prints 'four'
four
。然而我无法理解其中的原因,仍然觉得应该打印two
或other
。请问有人可以解释一下这里发生了什么,为什么会打印出'four'吗?