递归查找祖先和子孙


      /-**
        * 查找祖先(给个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->f findChild($id,null,$members ));//$id是查找的起点;
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值