使用empty()函数检查对象是否为空是正确的吗?


Is it right to use empty() function for checking an object is null?

说,

$obj = $this->someFunc(); // this returns an object
if(empty($obj)){ 
    // suppose $obj is null, it does works correctly
}

在http://php.net/manual/en/function.empty.php中,empty()仅用于变量和数组。

但是,这是正确的方法吗?

php有is_null()函数来确定一个对象是否为空:http://php.net/manual/en/function.is-null.php

null将导致empty()返回true。但是,如果您要检查该值是否实际为null,则is_null()更适合此工作。

if (is_object($obj)) {
   // It is an object
}

对不起,回答得太快了。只是检查:

if ($obj === null) {
   // Object is null
} else {
   // Object isn't null
}

也可以这样做:

if (is_null($obj)) {
    // Object is null
}

使用is_null检查对象是否为null

您可以使用is_null()

一个没有属性的对象不再是空的,从PHP 5开始,我经常使用isset来检查它是否有一个值,并且这个值不是NULL