php三元运算符与字符串

时间:2016-03-13 18:20:52

标签: php

有我的代码:

$finfo=new SplFileInfo("animal.php");
print "Directory:".$finfo->isDir()?"Yes":"No"."<br />";
print "Directory:".($finfo->isDir()?"Yes":"No")."<br />";

打印机后,显示: YesDirectory:否

我对此很感兴趣。

发生了什么事
<<print "Directory:".$finfo->isDir()?"Yes":"No"."<br />";>> 

1 个答案:

答案 0 :(得分:2)

Operator precedence

连接的优先级高于三元运算符

print "Directory:".$finfo->isDir()?"Yes":"No"."<br />";

"Directory:"$finfo->isDir()连接起来,然后针对该连接值执行三元比较,非空字符串的计算结果为真

,而

print "Directory:".($finfo->isDir()?"Yes":"No")."<br />";

首先执行三元比较,然后将结果与"Directory:"

连接起来