鍍金池/ 問(wèn)答/PHP/ PHP 遞歸問(wèn)題

PHP 遞歸問(wèn)題

已經(jīng)有數(shù)據(jù)

id  fid
23  0
27  23
28  23
34  38
33  0
    //getID 是從數(shù)據(jù)庫(kù)取出來(lái)的,目前 23 和 33 
    foreach ($getID as $k => $v) {
        $allAgentID = getAllID($v);
        print_r($allAgentID);
    }

    function getAllID($uid){
        global $empire,$dbtbpre,$userid;
        $userid[] =$uid ;
        $s= "select userid from {$dbtbpre}enewsmember where fid='".$uid."' and checked=1 order by userid asc";
        $sql=$empire->query($s);
        while($u=$empire->fetch($sql)) {
            getAllID($u[userid]);
        }
        return $userid;
    }

    //輸出結(jié)果
    Array    
    (    
    [0] => 23    
    [1] => 27    
    [2] => 28    
    [3] => 34    
    )    
    Array    
    (    
    [0] => 23    
    [1] => 27    
    [2] => 28    
    [3] => 34    
    [4] => 33    
    )      

為什么當(dāng)$v=33的時(shí)候沒(méi)有清空之前的數(shù)組,還把之前的數(shù)組合并在一起

請(qǐng)問(wèn)有什么辦法能得到以下數(shù)組嗎?
當(dāng)$v=23時(shí)
Array
(
[0] => 23
[1] => 27
[2] => 28
[3] => 34
)

當(dāng)$v=33時(shí)
Array
(
[4] => 33
)

回答
編輯回答
有你在

看不懂樓主在說(shuō)什么

2018年1月3日 12:40
編輯回答
過(guò)客
    function getAllID($uid,$userid = array()){
        global $empire,$dbtbpre;
        $userid[] =$uid ;
        $s= "select userid from {$dbtbpre}enewsmember where fid='".$uid."' and checked=1 order by userid asc";
        $sql=$empire->query($s);
        while($u=$empire->fetch($sql)) {
            getAllID($u[userid], $userid);
        }
        return $userid;
    }
2017年4月6日 08:19