tree=array();//第一步,将分类ID作为数组密,并创建儿童单元foreach(tree=array();//第一步,将分类ID作为数组密,并创建儿童单元foreach( categories as category)$tree[$category[′id′]]=$category;$tree[$category[′id′]][′children′]=array();//第二步,利用引用,将每个分类添加到父类children数组中,这样一次遍历即可形成树形结构.foreach(category)$tree[$category[′id′]]=$category;$tree[$category[′id′]][′children′]=array();//第二步,利用引用,将每个分类添加到父类children数组中,这样一次遍历即可形成树形结构.foreach( tree as key=>key=> item){ if(item ['pid']!= 0){ $ tree [ $ item [ 'pid' ] ] [ 'children' ] [] =&$ tree [ $ key]; //注意:此处必须传引用否则结果不对if($ tree [ $ key] ['children'] == null){unset($ tree)[ $ key] ['children']); //如果孩子为空,则删除该孩子元素(任选)}}} ////第三步,删除无用的非根节点数据foreach(item ['pid']!= 0){ $ tree [ $ item [ 'pid' ] ] [ 'children' ] [] =&$ tree [ $ key]; //注意:此处必须传引用否则结果不对if($ tree [ $ key] ['children'] == null){unset($ tree)[ $ key] ['children']); //如果孩子为空,则删除该孩子元素(任选)}}} ////第三步,删除无用的非根节点数据foreach( tree as key=>key=> category){ if(category ['pid']!= 0){unset(category ['pid']!= 0){unset( tree[ $ key]); }}
无限级分类传值引用
最新推荐文章于 2020-06-19 16:26:03 发布