将树形结构的数据转换为二维数组 (续 PHP非递归方式实现无限分类(转载))
2017-07-17 13:59
1201 查看
//将树形结构转换为普通的二维数组 function treeToArray($tree){ static $arr = []; foreach($tree as $val){ $arr[] = ['id'=>$val['id'],'name'=>$val['name'],'pid'=>$val['pid']]; if(isset($val['son']) && !empty($val['son'])){ treeToArray($val['son']); } } return $arr; } //列子 $list = [ 1=>['id'=>1,'pid'=>0,'name'=>'服装'], 2=>['id'=>2,'pid'=>0,'name'=>'数码'], 3=>['id'=>3,'pid'=>0,'name'=>'食品'], 4=>['id'=>4,'pid'=>1,'name'=>'男装'], 5=>['id'=>5,'pid'=>1,'name'=>'女装'], 6=>['id'=>6,'pid'=>1,'name'=>'童装'], 7=>['id'=>7,'pid'=>1,'name'=>'内衣'], 8=>['id'=>8,'pid'=>2,'name'=>'平板电脑'], 9=>['id'=>9,'pid'=>2,'name'=>'摄像摄影'], 10=>['id'=>10,'pid'=>2,'name'=>'智能数码'], 11=>['id'=>11,'pid'=>2,'name'=>'娱乐影音'], 12=>['id'=>12,'pid'=>3,'name'=>'新鲜水果'], 13=>['id'=>13,'pid'=>3,'name'=>'蔬菜蛋品'], 14=>['id'=>14,'pid'=>3,'name'=>'精选肉类'], 15=>['id'=>15,'pid'=>3,'name'=>'海鲜水产'], 16=>['id'=>16,'pid'=>7,'name'=>'男士内衣'], 17=>['id'=>17,'pid'=>7,'name'=>'女生内衣'], ]; //1.转换为树形结构 $tree = tree($list); echo '<pre>'; var_dump($tree); echo '<hr>'; //将树形结构转换为二维数组 $t = treeToArray($tree); var_dump($t);
相关文章推荐
- php不用递归实现无限分类数据的树形格式化
- PHP非递归方式实现无限分类(转载)
- PHP不用递归实现无限分类数据的树形格式化 5行9行代码修改
- 不用递归实现无限分类数据的树形格式化
- 5行代码足矣,不用递归实现无限分类数据的树形格式化
- 用递归方式实现带层级表数据的无线级联树形显示,并转换成JsonArray返回前端
- 不用递归实现无限分类数据的树形格式化
- php实现数据树形结构 递归方法
- 9行代码,不用递归实现无限分类数据的树形格式化
- PHP递归写入MySQL实现无限级分类数据操作示例
- 5行代码 不用递归实现无限分类数据的树形格式化
- php实现无限级分类的树形结构
- php递归方法实现无限分类实例代码
- php 递归 实现无限分类 格式化数组
- java、js中实现无限层级的树形结构(类似递归)
- PHP递归实现无限级分类
- PHP递归实现无限级分类
- PHP 无限分类三种方式,非函数的递归调用![兄弟连]
- ORACLE 树形结构数据 查询某结点下全部子节点无限递归的前2个数据
- PHP递归实现无限级分类