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);
}