从 php 中的递归函数返回值的位置 [英] where to return value from a recursive function in php
本文介绍了从 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屋!
查看全文