具有上下级关系的一维数组转化为多维
2019-08-09 09:11
253 查看
[code] public function deal_list_to_tree($data, $pkName='id', $pIdName='pid', $childName='children_list', $is_empty_childrens=false, $rootId=''){ $new_data = []; foreach($data as $sorData){ if($sorData[$pIdName] == $rootId){ $res = $this->deal_list_to_tree($data, $pkName, $pIdName, $childName, $is_empty_childrens, $sorData[$pkName]); if(!empty($res) && !$is_empty_childrens){ if(array_key_exists($childName, $sorData)) { if(array_key_exists($childName, $sorData)){ $sorData[$childName][] = $res[0]; }else{ $sorData[$childName][] = $res; } }else{ $sorData[$childName] = $res; } } $new_data[] = $sorData; } } return $new_data; }
array(7) { [0] => array(5) { ["id"] => int(1) ["action"] => string(12) "房源管理" ["url"] => string(0) "" ["pid"] => int(0) ["children_list"] => array(3) { [0] => array(5) { ["id"] => int(8) ["action"] => string(15) "单元楼管理" ["url"] => string(0) "" ["pid"] => int(1) ["children_list"] => array(3) { [0] => array(4) { ["id"] => int(11) ["action"] => string(6) "添加" ["url"] => string(22) "manage/staff/showStaff" ["pid"] => int(8) } [1] => array(4) { ["id"] => int(12) ["action"] => string(6) "删除" ["url"] => string(23) "manage/staff/showStaff1" ["pid"] => int(8) } [2] => array(4) { ["id"] => int(13) ["action"] => string(6) "编辑" ["url"] => string(23) "manage/staff/showStaff1" ["pid"] => int(8) } } } [1] => array(5) { ["id"] => int(9) ["action"] => string(18) "住房房源管理" ["url"] => string(0) "" ["pid"] => int(1) ["children_list"] => array(3) { [0] => array(4) { ["id"] => int(14) ["action"] => string(6) "添加" ["url"] => string(22) "manage/staff/showStaff" ["pid"] => int(9) } [1] => array(4) { ["id"] => int(15) ["action"] => string(6) "删除" ["url"] => string(0) "" ["pid"] => int(9) } [2] => array(4) { ["id"] => int(16) ["action"] => string(6) "编辑" ["url"] => string(0) "" ["pid"] => int(9) } } } [2] => array(5) { ["id"] => int(10) ["action"] => string(18) "商铺房源管理" ["url"] => string(0) "" ["pid"] => int(1) ["children_list"] => array(3) { [0] => array(4) { ["id"] => int(17) ["action"] => string(6) "添加" ["url"] => string(0) "" ["pid"] => int(10) } [1] => array(4) { ["id"] => int(18) ["action"] => string(6) "删除" ["url"] => string(0) "" ["pid"] => int(10) } [2] => array(4) { ["id"] => int(19) ["action"] => string(6) "编辑" ["url"] => string(0) "" ["pid"] => int(10) } } } } } [1] => array(4) { ["id"] => int(2) ["action"] => string(12) "租客管理" ["url"] => string(0) "" ["pid"] => int(0) } [2] => array(4) { ["id"] => int(3) ["action"] => string(12) "财务管理" ["url"] => string(0) "" ["pid"] => int(0) } [3] => array(4) { ["id"] => int(4) ["action"] => string(12) "公寓管理" ["url"] => string(0) "" ["pid"] => int(0) } [4] => array(4) { ["id"] => int(5) ["action"] => string(12) "营收统计" ["url"] => string(0) "" ["pid"] => int(0) } [5] => array(4) { ["id"] => int(6) ["action"] => string(15) "数据云存储" ["url"] => string(0) "" ["pid"] => int(0) } [6] => array(4) { ["id"] => int(7) ["action"] => string(27) "公寓行业大数据分享" ["url"] => string(0) "" ["pid"] => int(0) } }
相关文章推荐
- PHP将多维数组转化为一维数组
- 多维数组转化为一维数组(key值=>value值,is_array(value)==false,使用递归)
- 多维数组到一维数组转化
- PHP开发小技巧③—实现多维数组转化为一维数组
- 多维数组转化成一维数组
- 实现多维数组转化为一维数组
- 使用SQL Server 2008中的hierarchyid类型来设计具有树型层次关系的表
- 联合两张具有主外键关系的表,想把其中一张表的字段值update到另外一张表中某个字段
- loadsh一维数组转换为多维数组方法
- SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
- 如何处理好上下级关系
- python numpy 一维数组转变为多维数组的实例
- App端实现免填邀请码建立上下级关系(openinstall)
- 一维数组与指针的关系,将txt文件传入一维数组(详解)
- Unicode数据类型(与ANSI关系和相互转化)
- OpenCV中IplImage/CvMat/Mat转化关系
- 进制的转化关系
- python--多维list转化为1维度list,,递归
- java-二位数组转化一维数组(注释详解)
- iOS开发 多任务之间具有依赖关系实现方案