我使用递归函数从上面的表结构中获取类别完整路径,例如访问控制/卡/FOBS,但我的递归函数返回空值。
function xyz($id,$parent) {
<pre><code>if($parent == '0') {
//my code working fine
//return
}
else
{
$catid = $id; //here 25 coming
$cat_array = array();
$category_array = $this->Recursive($catid,$cat_array);
//echo $category_array;exit; getting Null result
return $category_array ;
}
</code></pre>
<p>}</p>
<p>function Recursive($catid,$cat_array)
{</p>
<pre><code> $sql = mysql_query("Select bg_category_id,parent_id,title from categories_list
Where bg_category_id = '".$catid."'");
$result = mysql_fetch_array($sql);
array_push($cat_array,$result['title']);
if($result['parent_id'] != '0') {
$this->Recursive($result['parent_id'],$cat_array) ;
} else {
if(count($cat_array) > 0){
$k = implode("/",$cat_array);
}
//echo $k;exit; getting desired result FOBS/CARDS/Access Control
return $k;
}
</code></pre>
}<br/>
最佳答案
递归时需要返回递归函数,否则什么也不会返回。
if($result['parent_id'] != '0') {
return $this->Recursive($result['parent_id'],$category_array) ;
}
关于php - 递归函数返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21520556/