如何在PHP中发现一个对象是否为空。
下面是$obj
保存XML数据的代码。我怎么检查它是不是空的?
我的代码:
$obj = simplexml_load_file($url);
发布于 2012-02-23 19:40:00
可以强制转换为数组,然后检查数组是否为空
$arr = (array)$obj;
if (!$arr) {
// do stuff
}
发布于 2014-05-06 18:08:54
您可以将对象转换为数组,并测试其计数,如下所示:
if(count((array)$obj)) {
// doStuff
}
发布于 2014-08-15 10:03:11
想象一下,如果对象不是空的,并且在某种程度上相当大,为什么要浪费资源将其强制转换为数组或序列化它……
这是我在JavaScript中使用的一个非常简单的解决方案。与前面提到的将对象强制转换为数组并检查其是否为空或将其编码为JSON的解决方案不同,这个简单的函数在执行简单任务所使用的资源方面非常有效。
function emptyObj( $obj ) {
foreach ( $obj AS $prop ) {
return FALSE;
}
return TRUE;
}
解决方案以一种非常简单的方式工作:如果对象为空,它根本不会进入foreach循环,它将返回true
。如果它不为空,它将进入foreach
循环并立即返回false
,而不是传递整个集合。
https://stackoverflow.com/questions/9412126
复制相似问题