如何在php中检查stdClass对象是否为空?

Vip*_*rma 31 php

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

我有这个空对象

Array (
    [cart_items] => stdClass Object
        (
        )
)
Run Code Online (Sandbox Code Playgroud)

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

我怎么检查呢?

Kin*_*nch 52

首先转换为数组

$tmp = (array) $object;
var_dump(empty($tmp));
Run Code Online (Sandbox Code Playgroud)

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

  • if($object == new \stdClass()) { // 空 } else { // 非空 } (5认同)

moo*_*e99 15

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

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

  • 但是当你不想建立自己的类时,stdClass是用的:) (3认同)