从 php 中的递归函数返回值的位置 [英] where to return value from a recursive function in php

查看:45
本文介绍了从 php 中的递归函数返回值的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用递归函数从数据库中获取值,但在我的代码中,我只得到第一条记录作为返回值.一切完成后,我应该把 return 返回函数放在哪里?

I'm using recursive function to get values out of database, but in my code I get only first record as return. Where should I put return to return function after everything completes?

function sidebar_sub_sub($id)
{
    $sql="select subcatagory_id,subcatagory_name,haschild,parent from subcatagory where parent=".$id."";
    $query=mysql_query($sql);
    $resultset=array();

    if(mysql_num_rows($query))
        {
            while($result=mysql_fetch_assoc($query))
            {     
                array_push($resultset,$result);
                if($result['haschild'])
                {
                    $sb=sidebar_sub_sub($result['subcatagory_id']);
                }             

            }

        }
        return $resultset;            
}

推荐答案

试试下面的脚本,我用于我的类别表,其中只有三个字段 id、name 和 parent_id.它可能对你有用.

Try the below script that i used for my categories table in which there are just three fields id, name and parent_id. It may work for you.

$resultset=array();
function sidebar_sub_sub($id)
{
    global $resultset;
    $sql="select id,name,parent_id from categories where parent_id=".$id."";    
    $query=mysql_query($sql);

    if(mysql_num_rows($query))
    {
        while($result=mysql_fetch_assoc($query))
        {   
            array_push($resultset,$result);            
            if($result['parent_id']>0){
                sidebar_sub_sub($result['id']);
            }
        }

    }
    return $resultset; 
}
$result = sidebar_sub_sub(1);

这篇关于从 php 中的递归函数返回值的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆