与Ternary Logic有一种奇怪的行为

时间:2015-06-10 08:35:15

标签: php ternary-operator

当我这样做时 -

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

输出 - World代替Hello World。但是当 -

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

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

1 个答案:

答案 0 :(得分:10)

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

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

你需要:

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