【问题标题】:Having a strange behavior with Ternary Logic [duplicate]三元逻辑有一个奇怪的行为[重复]
【发布时间】:2015-06-10 08:35:15
【问题描述】:

当我这样做时 -

echo "Hello ". (true) ? 'World' : 'XYZ';

输出 - World 而不是 Hello World。但是当 -

$person = (true) ? 'World' : 'XYZ';
echo  "Hello ".$person;

预期的输出 - Hello World。 不明白为什么会这样!是预期的吗?

【问题讨论】:

  • 我假设"Hello " 部分被认为是条件的一部分
  • 但我认为应该不是。

标签: php ternary-operator


【解决方案1】:
echo "Hello ". (true) ? 'World' : 'XYZ';

相同
echo ("Hello ". (true)) ? 'World' : 'XYZ';

你需要:

echo "Hello ". (true ? 'World' : 'XYZ');

【讨论】:

  • 那是因为运算符优先级的缘故?
  • 是的,这是因为优先级。
  • 哦。明白了。谢谢。
猜你喜欢
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多