1

When I do -

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

The output - World instead of Hello World. But when -

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

The output - Hello World which is expected. Don't understand why this behave like this! Is it expected?

Sougata Bose
  • 31,517
  • 8
  • 49
  • 87

1 Answers1

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

is same as

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

You need:

echo "Hello ". (true ? 'World' : 'XYZ');
xdazz
  • 158,678
  • 38
  • 247
  • 274