首页  >  文章  >  后端开发  >  为什么三元运算符和字符串连接会产生异常行为?

为什么三元运算符和字符串连接会产生异常行为?

Linda Hamilton
Linda Hamilton原创
2024-10-24 03:40:30269浏览

Why Does the Ternary Operator and String Concatenation Produce Anomalous Behavior?

三元运算符和字符串连接异常行为

难题

考虑以下代码片段:

<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn