【发布时间】:2016-03-29 01:37:51
【问题描述】:
我正在创建一个应该从数组中输出嵌套 HTML 菜单的函数。我想得到以下输出,但没有得到:
期望的输出
<ol class="sortable ui-sortable">
<li id="list_77"><div>test1</div>
<ol>
<li id="list_78"><div>subtest1</div>
<ol>
<li id="list_79"><div>subtest1-1</div></li>
</ol>
</li>
</ol>
</li>
</ol>
我的数据。
$项目
Array
(
[77] => Array
(
[menu_id] => 77
[menu_name] => test1
[menu_parent_id] => 0
[menu_sort] => 1
[menu_link] =>
[menu_status] => 1
)
[78] => Array
(
[menu_id] => 78
[menu_name] => subtest1
[menu_parent_id] => 77
[menu_sort] => 1
[menu_link] =>
[menu_status] => 1
)
[79] => Array
(
[menu_id] => 79
[menu_name] => subtest1-1
[menu_parent_id] => 78
[menu_sort] => 1
[menu_link] =>
[menu_status] => 1
)
)
我的功能
function sub($list) {
foreach($list as $key => $menu){
echo '<li class="menu_list" id="item_'.$menu['menu_id'].'">';
echo '<div>'.$menu['menu_id'].'-'.$menu['menu_name'].'-'.$list[$menu['menu_id']]."==".$parent.'</div>';
if($list[$key]['menu_parent_id']!=$parent){
echo '<ol>';
echo $list[$key]['menu_parent_id'];
echo '</ol>';
} else {
sub($list);
}
echo "</li>";
}
}
$item = array();
echo sub($item);
【问题讨论】:
-
这段代码有什么问题?有没有显示错误?列表排序不正确?哪个是输出?
-
$parent未定义,您将$list[$menu['menu_id']]视为字符串。您应该会看到错误。