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

Linda Hamilton
发布: 2024-10-24 03:40:30
原创
268 人浏览过

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

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!