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
  • 30,871
  • 8
  • 44
  • 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
  • 154,648
  • 35
  • 237
  • 264