中国体彩网唯一官网

public function subtree($arr,$id=0,$lev=1) {

    static $subs = array(); //子孫數組

    foreach ($arr as $v) {

      if ($v['pid'] == $id) {

        $v['lev'] = $lev;

        $subs[] = $v;

        $this->subtree($arr,$v['tag_id'],$lev+1);

      }

    }

    return $subs;

  }



  public static function recursive_make_tree($list, $pk = 'tag_id', $pid = 'pid', $child = '_child', $root = 0)

    {

        $tree = [];

        foreach ($list as $key => $val) {

            if ($val[$pid] == $root) {

                //獲取當前$pid所有子類

                unset($list[$key]);

                if (!empty($list)) {

                  $child = self::recursive_make_tree($list, $pk, $pid, $child, $val[$pk]);

                  if (!empty($child)) {

                    $val['_child'] = $child;

                  }

                }

                $tree[] = $val;

            }

        }

        return $tree;

    }












    /*遞歸查詢所有下級用戶*/

    function GetTeamMember($members, $mid) {

        $Teams=array();//最終結果

        $mids=array($mid);//第一次執行時候的用戶id

        do {

            $othermids=array(); 

            $state=false;

            foreach ($mids as $valueone) {

                foreach ($members as $key => $valuetwo) {

                    if($valuetwo['parentId']==$valueone){

                        $Teams[]=$valuetwo['_ID'];//找到我的下級立即添加到最終結果中

                        $othermids[]=$valuetwo['_ID'];//將我的下級id保存起來用來下輪循環他的下級

                        array_splice($members,$key,1);//從所有會員中刪除他

                        $state=true;    

                    }

                }           

            }

            $mids=$othermids;//foreach中找到的我的下級集合,用來下次循環

        } while ($state==true);


        return $Teams;

    }


0/300
全部評價
中国体彩网唯一官网