php递归函数未返回任何值

时间:2018-11-03 18:28:40

标签: php

我编写了此递归函数,但它不起作用。找不到错误。它什么也没返回。但是,如果我在else语句上写一个“ echo”,则可以完美打印。

function find_parent($referralid,$leg)
{   
    $query="SELECT memberid FROM memberdetails where parentid='".$referralid."'  and leg='".$leg."'";
    $result=mysql_query($query);
    if (mysql_num_rows($result) == 0) 
        return $referralid;
    else
    {
        while($row = mysql_fetch_array($result))
        {
            find_parent($row[0],$leg);
        }
    }   
}

1 个答案:

答案 0 :(得分:3)

进行递归时,还需要将值传递回,否则该值不会传播回备份。所以这是...

find_parent($row[0],$leg);

需要成为

return find_parent($row[0],$leg);

这是假设您将只获得1行作为父级。