我使用这个方法来检查对象是否具有属性:
function objectHasProperty($input){
return (is_object($input) && (count(get_object_vars($input)) > 0)) ? true : false;
}
但是我想进一步检查以确保所有属性都有值,例如:
stdClass Object
(
[package] =>
[structure] =>
[app] =>
[style] =>
[js] =>
)
如果所有属性都是空值,我希望返回
false
。这可行吗?有什么提示和想法吗?
empty()
将会处理这个问题,如果使用empty()
进行检查,则以下所有内容都将返回false
:null
,""
和array()
。 - Fleshgrindernull
,你可以使用isset()
。当然,这会对""
和array()
返回true
。所以在这种情况下,你需要创建自己的检查(就像你所做的那样)。 - Fleshgrinderfalse
、0
和array()
(以及空字符串,尽管我的例子中没有)都是有效的值,在@GeorgeBrighton的解决方案中被视为未设置。 - dev-null-dweller