这可能是一个需要回答的基本问题,但我想知道使用PHP的if idential!==
与if equal!=
来控制流的性能问题。
考虑以下琐碎的PHP函数:
<?php
function test_json($json = NULL) {
if ($json != NULL) {
echo 'You passed some JSON.';
} else {
echo 'You failed to pass any JSON.';
}
}
?>
从性能的角度来看,如果相同(!==
),是否最好使用来防止PHP迭代变量类型,试图找到有效的比较?
我假设!==
首先比较变量类型,如果失败,它会立即返回FALSE
?我从PHP3开始就使用!=
,几乎是一种反射。现在我正在处理一些计算密集度更高的项目,微小的性能考虑变得更加令人担忧。
当然,欢迎其他关于流量控制优化的评论!
我还没有对宽松与严格比较运算符进行任何性能测试,但对于您想要做的事情,我建议您使用
if (!is_null($json)) {
do_stuff()
}
有关is_null()
的更多信息,请访问http://www.php.net/manual/en/function.is-null.php
编辑:我在上面链接的php页面评论中的一个注释显示,===
运算符比==
运算符略快,两者都比is_null()
快。然而,另一个注意点指出,"===NULL和is_NULL之间的执行时间差小于250纳秒。去优化一些重要的东西。"我不得不同意这一点。尽管如此,我还是建议你选择你认为最可读的。
您可以在询问之前编写这样的测试代码;根据测试"使用"==="比is_null()快30倍。"
http://www.php.net/manual/en/language.types.null.php#77937