【问题标题】:Php - empty ArrayObjectPHP - 空数组对象
【发布时间】:2016-06-29 15:21:09
【问题描述】:

ArrayObject 类允许对象作为数组工作。但是,当我检查 ArrayObject 是否为空时,结果总是错误的

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

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

【问题讨论】:

    标签: php arrays is-empty arrayobject


    【解决方案1】:

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

    empty() 构造仅确定给定值是否为falsy(同时忽略未定义的变量/索引错误)。 ArrayObject 的实例在转换为布尔值时计算为 true

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

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

    【讨论】:

    • (在我看来,遗憾的是 PHP 没有更通用和统一的运算符重载(是的,empty 本质上是一个运算符),但是......哦,好吧......)
    猜你喜欢
    • 2018-11-08
    • 2012-01-26
    • 2022-01-16
    • 2014-04-02
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多