PHP递归所有下级

Posted 大雾哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP递归所有下级相关的知识,希望对你有一定的参考价值。

/**
 * 获取用户下属ID集合
 * @param $uid int
 * @param $ids string
 * @author jack
 * @throws string
 * @return string
 */
public function getUnderlingUIds($uid, $ids=‘‘)
{
    $back = Db(‘ns_member‘,‘‘,false)->field(‘uid‘)->where(‘parent_uid‘,$uid)->select();
    if (!empty($back) && is_array($back)) {
        foreach ($back as $v) {
            //防止当前人的ID重复去查询,形成恶性循环
            if ($v[‘id‘] == $uid) {
                continue;
            }
            $back2 = Db(‘ns_member‘,‘‘,false)->where(‘parent_uid‘,$v[‘uid‘])->count(‘uid‘);
            if ($back2 > 0) {
                $ids = $this->getUnderlingUIds($v[‘uid‘],$ids);
            } else {
                $ids .= ‘,‘.$v[‘id‘];
            }
        }
     }
    $ids = $uid.‘,‘.$ids.‘,‘;
    $ids = str_replace(‘,,‘, ",", $ids);
    $ids = trim($ids, ‘,‘);
    return $ids;
}

 

以上是关于PHP递归所有下级的主要内容,如果未能解决你的问题,请参考以下文章

sql 递归查询所有的下级

php 获取当前目录所有文件夹名 及下级目录文件夹名 求代码详解

extjs 递归获得下级子节点

C#匿名委托实现递归,将所有部门根据上下级关系显示在一个列表中,用于展示到下拉框中

thinkphp无限下级查找实现方法,可以通过递归和预排序历遍算法

T-SQL查询:WITH AS 递归计算某部门的所有上级机构或下级机构