2011-10-22 58 views
0

有人能告诉我在下面的代码中可能会出错吗?PHP三元运算符只是因为换行符而返回不同的值

$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'); 
+0

为什么不使用简单的if - else语句? – shaggy

+0

我*我*使用它,但我只是想知道为什么这两个导致不同的输出时,唯一的区别是换行符? – Sudhi

回答

2

没什么用新的生产线有关,只是因为IIdentityIIdenity不同

+0

哎呀!谢谢,:facepalm: – Sudhi