PHP三元运算符因为换行而返回不同的值


PHP ternary operator returning different value just because of newlines

有人能告诉我下面的代码有什么问题吗?

$wOwner = ($owner instanceof IIdentity ? $owner->getName() : $owner);
var_dump($wOwner);
$wOwner = ($owner instanceof IIdenity
        ? $owner->getName()
        : $owner);
var_dump($wOwner);

我得到以下输出

string '1555' (length=4)
object(Member)[2] //snipping out the object properties

我对在字符串连接中扩展这种类型的表达式很感兴趣,例如

$msg = 'Answer is' . ( $expr ? 'yes' : 'no' );

与换行无关,只是因为IIdentity IIdenity 不同!