如何知道任意对象在PHP中是否具有任何属性?
我需要将它作为中断条件对JSON对象进行递归搜索 即当对象没有更多子对象时中断搜索。
我想到了 property_exists ,但它会检查特定的属性,而我想知道是否存在任何属性。
答案 0 :(得分:2)
函数get_object_vars()
将返回对象上所有可访问属性的列表。
答案 1 :(得分:2)
您可以尝试使用此功能:
http://php.net/manual/en/function.get-object-vars.php
来自文档:
返回范围内指定对象的已定义对象可访问非静态属性的关联数组。如果尚未为属性分配值,则将返回NULL值。
您还可以使用ReflectionClass来获取如下对象属性:
$obj = new YourObjectClass;
$reflect = new ReflectionClass($obj);
$props = $reflect->getProperties();
foreach ($props as $prop) {
print $prop->getName() . "\n";
答案 2 :(得分:2)
foreach (new object as $prop => $value) {
echo "property \$$prop is $value\n";
}
您也可以使用get_object_vars
方便地完成此操作:
$propertyName = key(get_object_vars($object));
答案 3 :(得分:0)
您可以使用:
@Html.RenderPartial("_Row", DataParameters)
在循环中查看对象是否已设置任何内容。