我一定已经屏蔽了某些东西,我知道答案很简单,但是在我的生命中,我无法从Google那里得到任何明确的答案。 我有这个数组:
Array
(
[0] => Array
(
[id] => 1
[name] => Paint
[parent_id] => 0
[sub] => Array
(
[0] => Array
(
[id] => 4
[name] => Dulux
[parent_id] => 1
[sub] => Array
(
[0] => Array
(
[id] => 6
[name] => Roof Cover
[parent_id] => 4
[sub] => Array
(
)
)
)
)
[1] => Array
(
[id] => 5
[name] => Plascon
[parent_id] => 1
[sub] => Array
(
)
)
)
)
[1] => Array
(
[id] => 2
[name] => Electrical
[parent_id] => 0
[sub] => Array
(
)
)
[2] => Array
(
[id] => 3
[name] => Plumbing
[parent_id] => 0
[sub] => Array
(
)
)
)
,并要输出带有选项组的选择。我知道这是一个101 PHP的东西,但是很长一段时间以来一直在研究这个问题。任何帮助将不胜感激。
答案 0 :(得分:0)
这是一个简单的递归函数:
function output_option($arr) {
foreach ($arr as $item) {
if ($item['sub']) {
echo '<optgroup label="', $item['name'], '">';
output_option($arr['sub']);
echo '</optgroup>';
} else {
echo '<option id="', $arr['name'], '">', $arr['name'], '</option>';
}
}
}
可以根据您的需要随意修改/更改它,但这应该是很容易解释的。