首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中检查对象是否为空?

如何在PHP中检查对象是否为空?
EN

Stack Overflow用户
提问于 2012-02-23 19:27:20
回答 12查看 187.7K关注 0票数 115

如何在PHP中发现一个对象是否为空。

下面是$obj保存XML数据的代码。我怎么检查它是不是空的?

我的代码:

代码语言:javascript
复制
$obj = simplexml_load_file($url);
EN

回答 12

Stack Overflow用户

发布于 2012-02-23 19:40:00

可以强制转换为数组,然后检查数组是否为空

代码语言:javascript
复制
$arr = (array)$obj;
if (!$arr) {
    // do stuff
}
票数 143
EN

Stack Overflow用户

发布于 2014-05-06 18:08:54

您可以将对象转换为数组,并测试其计数,如下所示:

代码语言:javascript
复制
if(count((array)$obj)) {
   // doStuff
}
票数 24
EN

Stack Overflow用户

发布于 2014-08-15 10:03:11

想象一下,如果对象不是空的,并且在某种程度上相当大,为什么要浪费资源将其强制转换为数组或序列化它……

这是我在JavaScript中使用的一个非常简单的解决方案。与前面提到的将对象强制转换为数组并检查其是否为空或将其编码为JSON的解决方案不同,这个简单的函数在执行简单任务所使用的资源方面非常有效。

代码语言:javascript
复制
function emptyObj( $obj ) {
    foreach ( $obj AS $prop ) {
        return FALSE;
    }

    return TRUE;
}

解决方案以一种非常简单的方式工作:如果对象为空,它根本不会进入foreach循环,它将返回true。如果它不为空,它将进入foreach循环并立即返回false,而不是传递整个集合。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9412126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档