我有像这样的层次结构对象。我想显示到层次结构组合框..
我正在使用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中使用递归循环将此数组显示为hieararchy组合框。我需要帮助才能解决这个问题
<option>- kakek</option>
<option>-- ayah</option>
<option>--- aku</option>
<option>---- anakku</option>
<option>--- adik ku</option>
<option>-- paman</option>
<option>--- keponakan</option>
谢谢
答案 0 :(得分:0)
一个简单的递归应该这样做
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);
}
}
}