我编写了此递归函数,但它不起作用。找不到错误。它什么也没返回。但是,如果我在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);
}
}
}
答案 0 :(得分:3)
进行递归时,还需要将值传递回,否则该值不会传播回备份。所以这是...
find_parent($row[0],$leg);
需要成为
return find_parent($row[0],$leg);
这是假设您将只获得1行作为父级。