www.gusucode.com > SDCMS三合一企业网站管理系统PHP源码程序 > SDCMS三合一企业网站管理系统/sdcms_swhy_v1.7/sdcms_swhy_v1.7/上传本目录中文件/app/lib/class/sdcms_tree.php
<?php /** * 作用:无限分类 * 官网:Http://www.sdcms.cn * 作者:IT平民 * =========================================================================== * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用; * 未经授权不允许对程序代码以任何形式任何目的的再发布。 * =========================================================================== **/ final class sdcms_tree { #查找某一分类的所有子类 public static function get_tree_child($id,$data) { $subs=[$id]; do{ $len=count($subs); foreach($data as $item) { if(in_array($item['followid'],$subs)) { $subs[]=$item['cateid']; unset($data[$item['cateid']]); } } } while(count($subs)>$len); return implode(',', $subs); } #查找某一分类的所有父类 public static function get_tree_parent($id,$data='') { if(!$data){$data=C('category');} $tree=[]; do { $tree[]=$data[$id]['cateid']; $id=$data[$id]['followid']; } while($id!=0); return array_reverse($tree); } public static function get_tree($data) { $tree=[]; foreach($data as $key=>$val) { $val['parent']=implode(',',self::get_tree_parent($val['cateid'],$data)); $val['depth']=count(explode(',',$val['parent'])); $val['sonid']=self::get_tree_child($val['cateid'],$data); $val['child']=count(explode(',', $val['sonid']))-1; $tree[$key]=$val; } return $tree; } }