Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的家谱上有重复的节点_Php_Arrays_Recursion_Tree_Instance - Fatal编程技术网

Php 我的家谱上有重复的节点

Php 我的家谱上有重复的节点,php,arrays,recursion,tree,instance,Php,Arrays,Recursion,Tree,Instance,我的功能是复制树上的一些节点。当我以递归方式调用该函数时。我有一个包含所有父亲、母亲、妻子、丈夫、孩子ID的数据库表。我只从他们父亲的身份证上拿走所有人。我不知道这些额外的节点是从哪里来的,我应该如何处理ie 您应该在发送帖子之前预览帖子。请添加所需的行为和一些示例数据真的很抱歉,先生。我正在编辑它。这就是为什么它表现得如此。现在请检查我的密码。先谢谢你 <?php function categoryTree($parent_id = 0,&$alreadyTher

我的功能是复制树上的一些节点。当我以递归方式调用该函数时。我有一个包含所有父亲、母亲、妻子、丈夫、孩子ID的数据库表。我只从他们父亲的身份证上拿走所有人。我不知道这些额外的节点是从哪里来的,我应该如何处理ie



您应该在发送帖子之前预览帖子。请添加所需的行为和一些示例数据真的很抱歉,先生。我正在编辑它。这就是为什么它表现得如此。现在请检查我的密码。先谢谢你
   <?php
    function categoryTree($parent_id = 0,&$alreadyThereArr=array())
    {

        $ci =& get_instance();
        //$query = $ci->db->query("SELECT * FROM tbl_user WHERE father_id = $parent_id ORDER BY id ASC");
        $sql="SELECT * FROM `tbl_user` WHERE father_id = '$parent_id' ORDER BY id ASC";
        $query=$ci->db->query($sql);
        $result=$query->result();

        if(count($result) > 0)
        {
            echo '<ul>';
            foreach($result as $key)
            {
                if(!in_array($key->id,$alreadyThereArr))
                {
                    //echo 'In';
                    if($key->wife_id != 0)
                    {
                        //echo 'wife';
                        $wife=$ci->Main_M->getSingleRow('tbl_user','id',$key->wife_id);

                        $start='<div>
                                    <span class="male">'.$key->name.'</span>
                                    <span class="spacer"></span>
                                    <span class="female">'.$wife->name.'</span>
                                </div>';
                    }
                    else
                    {
                        $gender=($key->gender == 'M') ? 'male' : 'female';
                        $start='<div><span class="'.$gender.'">'.$key->name.'</span></div>';
                    }

                    $alreadyThereArr[]=&$key->id;
                     echo '<li>';

                         echo $start;

                             echo '<ul>';

                                 categoryTree($key->id, $alreadyThereArr);

                             echo '</ul>';

                     echo '</li>';
                }
            }
            echo '</ul>';
        }
         //print_r($alreadyThereArr);
    }
    ?>