三元逻辑有一个奇怪的行为

Having a strange behavior with Ternary Logic

当我这样做时 -

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

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

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

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

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

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

你需要:

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