2014-01-27 10:47 阅读 50


I have this recursive function that calls itself until the number reaches total. I have made this demo to show the working, actually the secondFunc() conatins database queries. I'm saving values in array that is passed to secondFunc() from firstFunc(). The problem is when i call first function it shows only 1 value i.e. 1. When i uncomment the var_dump in second func it shows all the values. I know i'm doing something wrong. Please point out my mistake .What is the problem here?

function firstFunc($total){    
    return secondFunc($total,$num,$array);

function secondFunc($total,$num,$array){
    return $array;



Demo http://codepad.viper-7.com/Bic8ce

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    drkwpgrdb092239314 drkwpgrdb092239314 2014-01-27 10:49

    When you call a function recursively you must make sure to propagate the recursive call's return value back to the original caller:

    if($num<$total) {
        return secondFunc($total,$num,$array); // return added
    点赞 评论 复制链接分享