php Tree 操作

来源:互联网 发布:靖江王城值得去吗 知乎 编辑:程序博客网 时间:2024/06/15 10:00

php Tree 操作
1.跟具某个节点获 它和它所有的子节点

function getMenuTree($arrCat, $parent_id = 0, $level = 0)        {            static  $arrTree = array(); //使用static代替global            if( empty($arrCat)) return FALSE;            $level++;            foreach($arrCat as $key => $value)            {                if($value['parent_id' ] == $parent_id)                {                    $value[ 'level'] = $level;                    $arrTree[] = $value;                    unset($arrCat[$key]); //注销当前节点数据,减少已无用的遍历                    $this->getMenuTree($arrCat, $value[ 'id'], $level);                }            }            return $arrTree;        }

1.跟具某个节点获 它和它所有的父节点

    function get_all_parent_ids($id){        $array=$this->getAll();        $obj=$array[$id];        $ids[]=$obj['id'];        if(empty($obj['parent_id'])==FALSE){            while (empty($obj['parent_id'])==FALSE) {            $ids[]=$obj['id'];            $obj=$array[$obj['parent_id']];            }            $ids[]=$array[$obj['id']]['id'];        }           return implode(',',$str);    }
0 0