doushi9376 2012-05-03 15:55
浏览 94
已采纳

从递归函数返回一个值

I have a function that I can get all the correct values for with an echo, but when I cannot figure out how to get the whole array returned. Could someone help me figure out to get the all of the child users?

    $useridarray[] = $userid;
    getchildren($useridarray, $useridarray);

    function getchildren($array, $totalarray)
    {
        foreach($array as $arr)
        {
            $db_name = "dbname";
            $connection = @mysql_connect("localhost", "username", "password") or die(mysql_error());
            $db = @mysql_select_db($db_name, $connection) or die(mysql_error());
            $sql = "
                    select *
                    from users
                    where creator = '$arr'
                    ";
            $result = @mysql_query($sql, $connection) or die(mysql_error());
            while($row = mysql_fetch_array($result)) 
            {
                $newchildren[] = $row['id'];
                $totalarray[] = $row['id'];
                //echo $row['id'] . ' ';
            }
            mysql_close();
            getchildren($newchildren, $totalarray);
        }
    }
  • 写回答

3条回答 默认 最新

  • douyang2530 2012-05-03 15:57
    关注

    You need to pass by reference­Docs:

    function getchildren($array, &$totalarray)
                                 ^
    

    Usage:

    $useridarray[] = $userid;
    getchildren($useridarray, $useridarray);
    var_dump($useridarray); # your result
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 ADS生成的微带线为什么是蓝色空心的
  • ¥15 求一下解题思路,完全不懂
  • ¥15 tensorflow
  • ¥15 densenet网络结构中,特征以cat方式复用后是怎么进行误差回传的
  • ¥15 STM32G471芯片spi设置了8位,总是发送16位
  • ¥15 R语言并行计算beta-NTI中tree文件的类型
  • ¥15 如何解读marsbar导出的ROI数据?
  • ¥20 求友友协助弄一下基于STC89C52单片机的声光控制灯原理图
  • ¥15 arduino双向交通灯设计
  • ¥15 有没有会粒子群算法的大能(○゜ε^○)求带不会出收敛图😭