【问题标题】:PHP - looping hierarchy array to display in select optionPHP - 在选择选项中显示的循环层次结构数组
【发布时间】:2018-10-09 17:25:15
【问题描述】:

我有这样的层次结构对象。我想显示到层次组合框..

我正在使用 codeigniter 进行开发。

Array
(
    [0] => stdClass Object
        (
            [ki_id] => 1
            [kf_id] => 1
            [ki_author] => 2
            [ki_name] => kakek
            [ki_uom] => percent
            [ki_level] => parent
            [ki_year_date] => 2018-01-01
            [ki_parent_id] => 
            [children] => Array
                (
                    [0] => stdClass Object
                        (
                            [ki_id] => 2
                            [kf_id] => 1
                            [ki_author] => 2
                            [ki_name] => ayah
                            [ki_uom] => percent
                            [ki_level] => child
                            [ki_year_date] => 2018-01-01
                            [ki_parent_id] => 1
                            [children] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [ki_id] => 4
                                            [kf_id] => 1
                                            [ki_author] => 2
                                            [ki_name] => aku
                                            [ki_uom] => percent
                                            [ki_level] => child
                                            [ki_year_date] => 2018-01-01
                                            [ki_parent_id] => 2
                                            [children] => Array
                                                (
                                                    [0] => stdClass Object
                                                        (
                                                            [ki_id] => 7
                                                            [kf_id] => 1
                                                            [ki_author] => 2
                                                            [ki_name] => anak ku
                                                            [ki_uom] => percent
                                                            [ki_level] => child
                                                            [ki_year_date] => 2018-01-01
                                                            [ki_parent_id] => 4
                                                        )

                                                )

                                        )

                                    [1] => stdClass Object
                                        (
                                            [ki_id] => 6
                                            [kf_id] => 1
                                            [ki_author] => 2
                                            [ki_name] => adik
                                            [ki_uom] => percent
                                            [ki_level] => child
                                            [ki_year_date] => 2018-01-01
                                            [ki_parent_id] => 2
                                        )

                                )

                        )

                    [1] => stdClass Object
                        (
                            [ki_id] => 3
                            [kf_id] => 1
                            [ki_author] => 2
                            [ki_name] => paman
                            [ki_uom] => percent
                            [ki_level] => child
                            [ki_year_date] => 2018-01-01
                            [ki_parent_id] => 1
                            [children] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [ki_id] => 5
                                            [kf_id] => 1
                                            [ki_author] => 2
                                            [ki_name] => keponakan
                                            [ki_uom] => percent
                                            [ki_level] => child
                                            [ki_year_date] => 2018-01-01
                                            [ki_parent_id] => 3
                                        )

                                )

                        )

                )

        )

);

如何在带有递归循环的 HTML 中将此数组显示到层次组合框。我需要帮助谁可以解决这个问题

<option>- kakek</option> 
<option>-- ayah</option> 
<option>--- aku</option> 
<option>---- anakku</option> 
<option>--- adik ku</option> 
<option>-- paman</option> 
<option>--- keponakan</option> 

谢谢

【问题讨论】:

    标签: php arrays codeigniter recursion


    【解决方案1】:

    一个简单的递归应该做到这一点

    public function createTree($arrData, $level = 0)
    {
        $level ++;
        foreach($arrData AS $obj)
        {
            echo '<option>'.str_repeat('-', $level).$obj->ki_name.'</option>';
            if (isset($obj->children) && is_array($obj->children))
            {
                $this->createTree($obj->children, $level);
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      • 1970-01-01
      相关资源
      最近更新 更多