递归求所有父级id

往往在树形结构数据处理过程中,需要求当前数据的所有父级数据。这里给出一个递归函数,可以直接使用获取到所有父级数据组成的字符串,当然可以通过处理变成数组或者自己想要的数据类型

首先给出数据表的数据截图如下:

使用的递归函数如下:(使用的是tp5框架书写,表名为fc_group。两个参数分别是当前节点id和接受所有父级id,包括当前id定义的字符串)

function getparentid($id,$str){
        $data = Db::name('fc_group')->where('id',$id)->find();
        if($data['pid'] == 0){
            $str = '';
         }else{
            $str .= $data['id'];
    }
        if($data['pid']){
            return $this->getparentid($data['pid'],$str);
    }else{
            return $str;
    }

}    
原文地址:https://www.cnblogs.com/hjxcode/p/8379888.html