方法:
static public function getParents($data,$id){ $arr=array(); foreach ($data as $v) { if ($v['id']==$id) { $arr[]=$v; $arr=array_merge(self::getParents($data,$v['pid']),$arr); } } return $arr; }
调用:
array( 'id'=>1, 'pid'=>0 ), '1'=>array( 'id'=>2, 'pid'=>0 ), '2'=>array( 'id'=>3, 'pid'=>1 ), '3'=>array( 'id'=>4, 'pid'=>3 ) ); //$data=Cate::unlimitedForLevel($data); //$data=Cate::unlimitedForLayer($data); $data=Cate::getParents($data,4); echo ''; print_r($data);die; echo ''; $this->display(); }}
效果: