【发布时间】:2014-03-20 15:35:32
【问题描述】:
有什么区别,特别是在 PHP 中?从逻辑上讲,它们是相同的(或者看起来如此),但是一个比另一个有什么优势吗?如果有任何差异,包括微基准测试。
示例代码:
$a = fc();
// Example 1
if (!$a) echo "Ex. 1";
// Example 2
if (false === $a) echo "Ex. 2";
// Example 3
if (true !== $a) echo "Ex. 3";
function fc()
{
return false;
}
【问题讨论】:
-
前。 1 是在类型杂耍之后测试任何错误的东西(相当于 $a == false); 2 和 3 专门测试 Boolean 类型和 false 值;所以有逻辑上的区别
标签: php coding-style operators logical-operators