Php - 空 ArrayObject

Php - empty ArrayObject

ArrayObject class 允许对象作为数组工作。但是,当我检查 ArrayObject 是否为空时,结果始终为 false

echo empty(new ArrayObject()); // returns false

如果它返回 true,它会不会更符合空数组 [] 的行为?

PHP 的 ArrayObject 不能与数组互换。大多数与数组相关的函数都无法使用它。

empty() construct only determines whether the given value is falsy(同时忽略未定义的变量/索引错误)。 ArrayObject 的实例在转换为布尔值时计算为 true

这对数组和 ArrayObjects 都有效(因为它们实现了 Countable):

if (!count($variable)) {
    // $variable is an empty array or empty ArrayObject
}