【发布时间】:2014-01-22 13:24:40
【问题描述】:
我偶然发现了这段代码(由其他人编写):
$result = do_stuff(); //returns false on failure, and mysql resource on success
return $result !== false;
如果我做对了,它会将$result 转换为布尔值并返回它。
我们如何证明使用$result !== false 而不是(bool)$result 是合理的?前者效率更高吗?
【问题讨论】:
-
我认为
$result !== false比(bool)$result更具可读性。 -
因为资源不是简单的真或假,这里的代码是主动类型检查布尔值以及假值
-
@MarkBaker From php doc
Every other value is considered TRUE (including any resource).在投射时资源被认为是真的,对吧? -
这是
tru-ish和true的区别
标签: php type-conversion