Php - 空ArrayObject

mar*_*osh 2 php arrays arrayobject is-empty

ArrayObject类允许对象的数组.ArrayObject但是,当我检查a是否为空时,结果始终为false

echo empty(new ArrayObject()); // returns false
Run Code Online (Sandbox Code Playgroud)

[]如果它返回,它是否会与空数组的行为更加一致true

Shi*_*ai7 7

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

empty()构造仅确定给定值是否为(忽略未定义的变量/索引错误).一个实例,用于ArrayObject计算true何时将其转换为布尔值.

这适用于数组和ArrayObjects(因为它们实现Countable):

if (!sizeof($variable)) {
    // $variable is an empty array or empty ArrayObject
}
Run Code Online (Sandbox Code Playgroud)

(在我看来这是一件好事.PHP绝对不需要更多魔法.)