考虑以下代码片段:
<code class="php">$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';</code>
人们可能会预料到如果 $paperType 为 'bond',则此代码会将字符串 'Paper: Bond' 分配给 $description,否则为 'Paper: Other'。然而,观察到的行为是不同的。
执行时,$description 接收“Bond”或“Other”,省略“Paper:”前言。这种意外结果源于括号放置错误。
要更正代码,必须添加括号以确保字符串以正确的顺序连接:
<code class="php">$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');</code>
通过将三元表达式括在括号中,我们确保首先执行串联操作,将“Paper:”附加到“Bond”或“Other”的串联结果。
以上是为什么三元运算符和字符串连接会产生异常行为?的详细内容。更多信息请关注PHP中文网其他相关文章!