以递归方式获取对象属性和值(getting object properties and values recursivly)

编程入门 行业动态 更新时间:2024-10-26 10:37:10
递归方式获取对象属性和值(getting object properties and values 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

so i have an object:

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

how can i iterate through this object without knowing the "name,address" property?

I want to be able to do

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

now i can do this:

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

and i get a nice little list of

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

but how can i get the property name or address to print?

i.e.

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

最满意答案

你想要的值是来自第一个foreach循环的$key 。

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

IDEOne.com演示

The value you want is in $key already from the first foreach loop.

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

IDEOne.com demo

更多推荐

本文发布于:2023-08-03 17:44:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1396393.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:递归   属性   对象   方式   recursivly

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!