1. 程式人生 > >寫遞歸出現的一些問題

寫遞歸出現的一些問題

public 每次 遞歸 利用 函數 stat 發現 重復 foreach

今天利用遞歸函數獲取指定欄目的全部子欄目,需要遞歸調用,寫的我自己感覺不應該有問題,但是數據重復出現太多次了

後來才發現範了一個二逼錯誤,遞歸調用後又賦值了,導致數據return出現太多

public function getids($id){
    static $arr=array();
    
    $ids=$this->where(‘cate_pid‘,$id)->field(‘cate_id‘)->select();
        if(count($ids)!=0){
        foreach($ids as $v){
            
                
$arr[]=$v[‘cate_id‘]; //原來我是這麽寫的,導致數據出現太多次,每次return回的數據都保存了 //$arr[]=$this->getids($v[‘cate_id‘]); $this->getids($v[‘cate_id‘]); } } return $arr; }

寫遞歸出現的一些問題