三元算子左结合性
2022-08-30 11:10:14
在PHP手册中,我在“运算符”下找到了以下“用户贡献说明”。
请注意,在 php 中,三元运算符 ?: 与 C 中不同,在 C 中具有左结合性,在 C 中,它具有右结合性C++。
你不能像这样编写代码(正如你可能在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
有人可以解释一下这里发生了什么,为什么它打印“四”吗?