2011-02-12 147 views
60

如何遍歷對象的所有屬性?現在我必須寫一個新的代碼行中使用foreach循環或循環我可以遍歷一個對象的所有屬性打印對象循環遍歷對象的所有屬性php

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

的每個屬性?

像這樣的事情

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

轉到頭`你正在做正確的 – 2011-02-12 06:09:36

+4

使用`foreach` foreach`環(用`=>``不 - >`)遍歷對象** public **屬性。如果你想要另一種行爲,你也可以讓你的類[Traversable](http://php.net/Traversable)。 – netcoder 2011-02-12 06:29:36

回答

92

如果這只是爲了調試輸出,您可以使用下面的看到所有的類型和值,以及。

var_dump($obj); 

如果你想在輸出更多的控制,你可以使用這個:

foreach ($obj as $key => $value) { 
    echo "$key => $value\n"; 
} 
0

這裏是另一種方式來表達對象的屬性。

foreach ($obj as $key=>$value) { 
    echo "$key => $obj[$key]\n"; 
} 
3

出於測試目的,我使用以下命令:

//return assoc array when called from outside the class it will only contain public properties and values 
var_dump(get_object_vars($obj));