三元运算符和string连接的怪癖?
嗨,我只是想知道为什么这个代码产生(至less对我来说)一个不正确的结果。
好吧,可能我在这里有错
$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';
我在猜测,如果paperType等于'Bond',那么描述就是'Paper:Bond',如果paperType不等于'Bond',则描述为'Paper:Other'。
但是当我运行这个代码的结果是描述是“债券”或“其他”,让我想知道string“纸:”去了哪里?
$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');
尝试添加圆括号,以便将string按照正确的顺序连接到一个string。
这与运营商的优先级有关。 你必须做到以下几点:
$description = 'Paper: ' . (($paperType == 'bond') ? 'Bond' : 'Other');