dongshen6060 2015-10-22 18:05
浏览 21

在自循环函数php中查找父类别

Find the top category in tree structure, i am using this

echo getTopCategory($category_id); exit; // returning empty value



function getTopCategory($catid) {

    $CI = & get_instance();
    $CI->db->select('*');
    $CI->db->from('categories');
    $CI->db->where('id', $catid);
    $query = $CI->db->get();
    $result = $query->row();
    //return $catid; // for testing return working
    if($result->parent_id==0){
        //echo $catid -- working result 350
        return $catid; // root parent, not successfully returning the result
    }else{
        getTopCategory($result->parent_id);
    }

}

if i use echo inside the getTopCategory($catid) it correctly giving the parent category id but it not returning date to getTopCategory($category_id);

  • 写回答

3条回答 默认 最新

  • dtdt0454 2015-10-22 18:10
    关注

    Return it then, see my comment in the code:

    echo getTopCategory($category_id); exit; // returning empty value
    
    
    
    function getTopCategory($catid) {
    
        $CI = & get_instance();
        $CI->db->select('*');
        $CI->db->from('categories');
        $CI->db->where('id', $catid);
        $query = $CI->db->get();
        $result = $query->row();
        //return $catid; // for testing return working
        if($result->parent_id==0){
            //echo $catid -- working result 350
            return $catid; // root parent 
        }else{
            //Ive added a return here
            return getTopCategory($result->parent_id);
        }
    
    }
    

    When you do a recursive call, you need to return the value from the recursive call itself, so it can bubble all the way back to your echo command.

    评论

报告相同问题?

悬赏问题

  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了