我偶然发现了这一点代码(由其他人编写):
$result = do_stuff(); //returns false on failure, and mysql resource on success
return $result !== false;
如果我做对了,它将$result
施放给布尔值并将其返回。
我们如何证明使用$result !== false
而不是(bool)$result
合理?前者是否更有效?
我不确定您的意思是Jusify。铸造给布尔可能会根据do_stuff()
的结果做同样的事情,但实际上是其他的,也意味着其他。
示例:
如果您将0
作为returnValue,则将其投入到bool将使您的函数返回false,但是0 !== false
将返回true。根据您的评论,这可能不是您在这里拥有的用户酶,但这是暗示的。
因此,您在这里说的是"如果$result
完全是false
,则返回false,否则始终返回true",而施放到bool则将返回false false $result
的任何值,即'false-ish'。
我的理由是,这更清楚:您暗示结果是真正的false
,或者您实际上认为它是正确的。