>백엔드 개발 >PHP 튜토리얼 >多级数组遍历问题

多级数组遍历问题

WBOY
WBOY원래의
2016-06-23 13:27:561114검색

PHP新手请教各位一个问题,现已通过递归从数据库中抓出来一个员工的所有下属(包括下属的下属),print_r ($sub)效果如下:

Array(    [0] => User Object        (            [userId] => 365            [name] => aa            [cn_name] => 王A            [job] => A区域销售工程师            [rep_id] => 368            [sub] => Array                (                )        )    [1] => User Object        (            [userId] => 367            [name] => cc            [cn_name] => 王C            [job] => A区域销售主管            [rep_id] => 368            [sub] => Array                (                    [0] => User Object                        (                            [userId] => 379                            [name] => mm                            [cn_name] => 黄XX                            [job] => 销售工程师                            [rep_id] => 367                            [sub] => Array                                (                                    [0] => User Object                                        (                                            [userId] => 381                                            [name] => abc                                            [cn_name] => 张abc                                            [job] => 销售工程师                                            [rep_id] => 379                                            [sub] => Array                                                (                                                )                                        )                                )                        )                    [1] => User Object                        (                            [userId] => 380                            [name] => xxxx                            [cn_name] => 张XX                            [job] => 销售工程师                            [rep_id] => 367                            [sub] => Array                                (                                )                        )                )        ))



现在的需求是,写一个函数,遍历这个多级数组,然后生成一个新的一维数组,类似这样:
Array(    [0] => User Object        (            [userId] => 365            [name] => aa            [cn_name] => 王A            [job] => A区域销售工程师            [rep_id] => 368        )    [1] => User Object        (            [userId] => 367            [name] => cc            [cn_name] => 王C            [job] => A区域销售主管            [rep_id] => 368        )    [2] => User Object        (            [userId] => 379            [name] => mm            [cn_name] => 黄XX            [job] => 销售工程师            [rep_id] => 367        )    [3] => User Object        (            [userId] => 381            [name] => abc            [cn_name] => 张abc            [job] => 销售工程师            [rep_id] => 379        )    [4] => User Object        (            [userId] => 380            [name] => xxxx            [cn_name] => 张XX            [job] => 销售工程师            [rep_id] => 367         ))


感觉这是数组的基本应用,但是一下脑子短路了,半天没搞出来,所以求教各位,希望各位大神赐教,拜谢!


回复讨论(解决方案)

都下班过节去了么?苦逼的还要加班。。

用foreach(xxx   as   key=>value)读,新的数组赋值。

用foreach(xxx   as   key=>value)读,新的数组赋值。


这个只能读到第一级元素,第二级以后的就会丢掉了。。

递归产生的,当然也要递归降维

递归产生的,当然也要递归降维


恩是的,还是要用递归和全局变量才行,已经搞定了,谢谢
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.