检查变量是否为空

时间:2012-11-15 09:24:35

标签: php isset isnull

  

可能重复:
  is_null($x) vs $x === null in PHP

在以下背景中!== null!is_null()isset()都会产生相同的结果:

$foo = null;

function foo() {
    if ($this->foo !== null) {
        ...
    }
    if (!is_null($this->foo)) {
        ...
    }
    if (isset($this->foo)) {
        ...
    }
}

哪一个是最快的,你会在这种背景下推荐哪一个?

4 个答案:

答案 0 :(得分:2)

如果您不确定该变量是否存在,请使用isset

示例:

$content = (isset($_POST['content'])) ? $_POST['content'] : null;

否则,使用严格比较为null。

if ($content === null) { }

(真的,我只是通过严格的比较来推动我对你的看法。我只是认为它看起来比is_null好,而且它可能会更快一点点。)

答案 1 :(得分:1)

仅在未设置变量的情况下使用isset 。即如果您不知道此时变量是否存在。既然您确实知道它应该存在,请不要使用isset

!== null!is_null之间的差异可以忽略不计,主要取决于您的偏好。就个人而言,我喜欢!== null

答案 2 :(得分:0)

if ($this->foo !== null) {
      //...
}

我更喜欢这种情况。

答案 3 :(得分:0)

根据我的说法

  if($this->foo!=""){

// ... }

这是最快的,并快速产生结果