递归函数不返回的

今天写程序的时候返回总觉得少了数据,然后一步步打断掉,发现递归函数并没有返回数据。

程序如下:

public function aa($aa,$list,$num){

  if(!empty($aa)){

    foreach($aa as $value){

      $list[$num]['Id'] = $value['Id'];

 

      /*此处忽略根据$aa 查出的$bb的过程*/

      $bb = ?????????//注意此行是运用了一堆需要在循环的$bb

      ++$num;

      $this->aa($bb,$list,$num);

    }

  }else{

    return $list;

  }

}

 

 

然后修改成这样就有返回数据了

public function aa($aa,$list,$num){

  if(!empty($aa)){

    foreach($aa as $value){

      $list[$num]['Id'] = $value['Id'];

 

      /*此处忽略根据$aa 查出的$bb的过程*/

      $bb = ?????????//注意此行是运用了一堆需要在循环的$bb

      ++$num;

      return $this->aa($bb,$list,$num);

    }

  }else{

    return $list;

  }

}

 

 

此处代码是根据今天遇到的问题的一份仿照的简介代码。

 

在一次提醒自己return

posted @ 2018-06-13 15:05  我想你懂得  阅读(627)  评论(0编辑  收藏  举报