39

重複の可能性:
PHP でオブジェクトが空かどうかを確認する方法

私はこの空のオブジェクトを持っています

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

を使用するempty()/is_null()と、動作しません。を使用するsizeof($object)と、1つ返されます。

どうすれば確認できますか?

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 に答える