简体   繁体   中英

recursive function call in binary tree

i have a table ft_individual which store information about a binary tree it comprises of attributes Id,User_name,Active(to represent user is active or not ),Position(L for left, R for right),and Father_id.... i want to get the number of child's in left position of a particular user then the number of child's in left position of a user.

i made a recursive function call but it is not working. I am using PHP codeigniter frame work......Help

$l_count=$this->tree_model->childCount($user_i,'L');

$r_count=$this->tree_model->childCount($user_i,'R');

inside model.

public function childCount($user_id='',$position='')
    {     
            $this->db->select('id');
            $this->db->from('ft_individual');
            $this->db->where('father_id',$user_id);
            $this->db->where('position',$position);
            $this->db->where('active','yes');
            $result=$this->db->get();
            foreach ($result->result() as $row)
            {
               $id= $row->id;
            }  
            if($id!='')
            {   
                return (1+childCount($id,'L')+childCount($id,'R')); 
            }
           else
            {   
                return 1; 
            }   
    }

您应该将函数childCount作为类的方法调用,只需添加$this->

return (1 + $this->childCount($id,'L') + $this->childCount($id,'R')); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM