ArrayObject类允许对象作为数组工作。但是,当我检查ArrayObject是否为空时,结果始终是假的。
echo empty(new ArrayObject()); // returns false如果一个空数组[]返回true,那么它与它的行为不是更一致吗?
发布于 2016-06-29 15:26:49
PHP的ArrayObject不能与数组互换。大多数与数组相关的函数都无法使用它。
empty()构造只确定给定值是否为http://php.net/manual/en/language.types.boolean.php#language.types.boolean.casting (同时忽略未定义的变量/索引错误)。当将ArrayObject实例转换为布尔值时,它的计算结果为true。
这将同时适用于数组和ArrayObject(因为它们实现了Countable):
if (!count($variable)) {
// $variable is an empty array or empty ArrayObject
}https://stackoverflow.com/questions/38103817
复制相似问题