应该使用`if($ a!= NULL)`或`if($ a!== NULL)`来控制程序流吗?

msa*_*ord 5 php performance if-statement program-flow micro-optimization

这也许是一个痛苦的基本回答的问题,但我想了解一下使用PHP的关于性能问题如果相同的 !==对比,如果等于 !=控制流.

考虑以下简单的PHP函数:

<?php
 function test_json($json = NULL) {
  if ($json != NULL) {
   echo 'You passed some JSON.';
  } else {
   echo 'You failed to pass any JSON.';
  }
 }
?>
Run Code Online (Sandbox Code Playgroud)

从性能的角度来看,最好是使用if(!==)来阻止PHP迭代变量类型,试图找到有效的比较吗?

认为!== 第一个对变量的类型,如果失败,它会立即返回FALSE?我!=从PHP3开始几乎用作反射.既然我正在开展一些计算密集型项目,那么微小的性能考虑将成为一个问题.

当然,欢迎对流量控制优化提出其他意见!

Mic*_*ick 7

我没有对松散的vs严格的比较运算符进行任何性能测试,但是对于你想要做的事情,我会推荐类似的东西

if (!is_null($json)) {
    do_stuff()
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请is_null()访问http://www.php.net/manual/en/function.is-null.php

编辑:我在上面链接的php页面的注释中的注释有一些结果显示===运算符比==运算符略快,两者都比它快is_null().然而,另一个注意事项指出"= = NULL和is_null之间的执行时间差小于250纳秒.去优化重要的东西." 我必须在那里同意.所以说,我建议你选择你认为最具可读性的东西.