如何循环遍历对象的所有属性?现在我必须编写一个新的代码行来打印对象的每个属性
echo $obj->name;
echo $obj->age;
我可以使用foreach循环或任何循环遍历对象的所有属性吗?
像这样的东西
foreach ($obj as $property => $value)
答案 0 :(得分:123)
如果这仅用于调试输出,您可以使用以下内容查看所有类型和值。
var_dump($obj);
如果您想要更多地控制输出,可以使用:
foreach ($obj as $key => $value) {
echo "$key => $value\n";
}
答案 1 :(得分:5)
出于测试目的,我使用以下内容:
//return assoc array when called from outside the class it will only contain public properties and values
var_dump(get_object_vars($obj));
答案 2 :(得分:1)
有时,您需要列出对象的变量,而不是出于调试目的。正确的方法是使用get_object_vars($ object)。它返回一个包含所有类变量及其值的数组。然后,您可以在foreach循环中遍历它们。如果在对象本身中使用,只需执行get_object_vars($ this)
答案 3 :(得分:0)
这是另一种表达对象属性的方法。
{{1}}
答案 4 :(得分:0)
在通过foreach循环运行$ object之前,必须将其转换为数组:
User