递归查找祖先和子孙


    /-**
     * 查找祖先(给个id,找出他上面的父亲)
     
     *-/

    public function findParent($id,$ancestor){
        
        static $parent=array();
        
        foreach($ancestor as $v){
            //从小到大 排列
            if($v["id"]==$id){
                $parent[]=$v;
                
                if($v["parent_id"] > 0){
                    $this->findParent($v["parent_id"],$ancestor);
                }
            }
        }
        
        return $parent;
    }
   //查找所有的用户信息
$members  = M('member')->select();
print_r($this->findParent($id,$members));//$id是查找的起点;

    
    /-**
     * 查找子孙(给个父id,找出他下面的子孙)
     
     *-/
    
 public function findChild($pid=0,$lev=1,$descendant){
        static $child=array();
        
        foreach($this->area as $v){
            if($v["parent_id"]==$pid){
                
                $v["lev"]=$lev;
                $child[]=$v;
                $this->findChild2($v["id"],$lev+1,$descendant);
            }
        }
        
        return $child;
    }
     
}


   
$members  = M('member')->select();
print_r($this->ffindChild($id,null,$members));//$id是查找的起点;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值