2014-01-30 121 views
0

,所以我有一个对象:获取对象的属性和值recursivly

$user->name->first = "Bob"; 
$user->name->last = "Smith"; 
$user->address->street = "1234 anywhere st."; 
$user->address->city = "Chicago"; 
$user->address->state = "Texas"; 

我怎样才能通过这个对象不知道“的姓名,地址”属性迭代?

我希望能够做

foreach ($user as $key -> $value) 
{} 

现在我可以做到这一点:

foreach ($user as $key -> $value) 
{ 
     foreach ($value as $k => $v) 
     { 
      echo $k . "," . $v . "\n"; 
     } 
} 

和我得到的

first,Bob 
last,Smith 
street,1234 anywhere st. 
city,Chicago 
state,Texas 

一个可爱的小名单,但我怎么能获取要打印的地产名称或地址?

name,first,Bob 
name,last,Smith 
address,street,1234 anywhere st. 
address,city,Chicago 
address,state,Texas 
+0

它在'$ key' ...同时,它的'=>''不 - >' – crush

+0

是的它肯定是。谢谢 – bart2puck

回答

1

你想要的值是$key已经从第一foreach循环。

foreach ($user as $key => $value) 
{ 
    foreach ($value as $k => $v) 
    { 
     echo "$key,$k,$v\n"; 
    } 
} 

IDEOne.com demo