39

可能重复:
如何在 PHP 中检查对象是否为空

我有这个空对象

Array (
    [cart_items] => stdClass Object
        (
        )
)

当我使用empty()/is_null()时,它不起作用。当我使用sizeof($object)时,它返回一个。

我怎样才能检查它?

4

2 回答 2

65

先转换成数组

$tmp = (array) $object;
var_dump(empty($tmp));

原因是,一个对象就是一个对象,没有有用的“空对象”定义,因为那里有足够多的类,只包含方法,但没有属性。他们应该被认为是“空的”吗?

于 2013-01-03T10:38:43.083 回答
18

检查是否count( (array)$yourObject) ) == 0

但我最好定义我自己的类,并为它提供一个有意义的isEmpty()方法。

于 2013-01-03T10:39:17.687 回答