循环遍历对象php的所有属性

时间:2011-02-12 06:04:36

标签: php

如何循环遍历对象的所有属性?现在我必须编写一个新的代码行来打印对象的每个属性

echo $obj->name;
echo $obj->age;

我可以使用foreach循环或任何循环遍历对象的所有属性吗?

像这样的东西

foreach ($obj as $property => $value)  

5 个答案:

答案 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