好吧,今天是驼峰日,我的大脑已经中弹了。
有人可以告诉我我在这里做错了什么,我正在尝试正确构建导航列表(分层)
这是数组:
Array
(
[0] => Array
(
[contentID] => 1
[parentID] => 0
[LinkAlias] =>
)
[1] => Array
(
[contentID] => 2
[parentID] => 0
[LinkAlias] => inner
)
[2] => Array
(
[contentID] => 3
[parentID] => 2
[LinkAlias] => inner-2
)
[3] => Array
(
[contentID] => 4
[parentID] => 3
[LinkAlias] => inner-21
)
)
我对递归函数的尝试:
// Parse out the array for displaying a multi-level menu
private function ParseMenu($menu, $parent = 0){
$ret .= '<ul>';
$iCt = count($menu);
for($i=0; $i < $iCt; ++$i){
if($menu[$i]['parentID'] == $parent){
$ret .= ' <li>' . $menu[$i]['LinkAlias'];
if($parent > 0){
$ret .= ParseMenu($menu, $menu[$i]['contentID']);
}
$ret .= '</li>';
}
}
$ret .= '</ul>';
return $ret;
}
现在,它正在返回:
<ul>
<li></li>
<li>inner</li>
</ul>
它应该显示
<ul>
<li></li><!-- yes this is intentional -->
<li>inner
<ul>
<li>inner-2
<ul>
<li>inner-21</li>
</ul>
</li>
</ul>
</ul>
所以..我做错了什么,我该如何解决?