首页  >  问答  >  正文

三元运算符和字符串连接的奇怪行为?

嗨,我只是想知道为什么这段代码会产生(至少对我来说)不正确的结果。

好吧,可能是我的错

$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';

我猜测,如果 paperType 等于“Bond”,则说明为“Paper:Bond”,如果 paperType 不等于“Bond”,则说明为“Paper:其他”。

但是当我运行这段代码时,结果是描述是“Bond”或“Other”并离开了我 想知道字符串“Paper:”去了哪里???

P粉919464207P粉919464207387 天前501

全部回复(2)我来回复

  • P粉204079743

    P粉2040797432023-10-22 22:16:47

    与运算符优先级有关。您必须执行以下操作:

    $description = 'Paper: ' . (($paperType == 'bond') ? 'Bond' : 'Other');

    回复
    0
  • P粉448130258

    P粉4481302582023-10-22 09:37:19

    $description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');

    尝试添加括号,以便将字符串按正确的顺序连接到另一个字符串。

    回复
    0
  • 取消回复