0
我有一個數組($嵌套)這樣的(這是的print_r()輸出)在「嵌套類」功能限制嵌套的UL
Array
(
[1] => Array
(
[id] => 1
[module] => 1
[parent] => 0
[name] => Audio
)
[20] => Array
(
[id] => 20
[module] => 1
[parent] => 5
[name] => Mixer analogici
)
[16] => Array
(
[id] => 16
[module] => 1
[parent] => 4
[name] => Videoproiettori
)
[11] => Array
(
[id] => 11
[module] => 1
[parent] => 2
[name] => Strutture
)
...
[19] => Array
(
[id] => 19
[module] => 1
[parent] => 5
[name] => Mixer digitali
)
)
和一個遞歸函數來創建一個嵌套菜單:
function nmenu($module, $parent, $array) {
$has_children = false;
foreach($array as $key => $value) {
if ($value['module'] == $module) {
if ($value['parent'] == $parent) {
if ($has_children === false && $parent) {
$has_children = true;
echo "<ul>\n";
}
echo '<li>';
echo '' . $value['name'] . " \n";
nmenu($module, $key, $array);
echo "</li>\n";
}
}
}
if ($has_children === true && $parent) echo "</ul>\n";
}
,我稱之爲是這樣的:
<ul>
<?php nmenu($row_rsNavModules['mod_id'], 0, $nested) ?>
</ul>
一切都很好,遞歸函數按預期工作,並創建了一個意甲無限嵌套的UL第...嗯,這是「無限」,它是太多了:我想限制縮進級別(又名縮進UI的數量)爲2,這樣的:
Cat 1
Subcat 1-1
Subcat 1-2
...
Cat 2
Subcat 2-1
Subcat 2-2
...
而不是像這樣結束:
Cat 1
Subcat 1-1
Sub-Subcat 1-1-1
Sub-Sub-Subcat 1-1-1-1
...
請問,我該如何編輯以前的功能來實現這一目標? 在此先感謝!
謝謝,它工作得很好! – Ivan