我正在尝试通过使用CodeIgniter从数据库获取数据来构建动态UI,但是在构造数组时面临问题。
要求:
获取数组中的父菜单项。然后获取与每个父项对应的子项。
获取父元素数据的代码::
$data['menu'] = $this->Menu->get_admin_menu_data();
这给了我3条记录
echo "before loop menu" . count($data['menu']) . "</br>"; //prints 3
现在我为每个父项运行一个foreach循环来检索它的子项
foreach($data['menu'] as $menu){
$data['menu']['menu_item'] = $this->Menu->get_admin_menu_item_data($menu->ad_menu_id);
echo "inside loop menu " . count($data['menu']) . "</br>"; //prints 4
}
一旦我这样做,菜单计数就会增加到4,导致UI出错。 我是PHP的新手,所以现在确定创建一个结构来保存这类数据的最佳方法是什么。
请帮助!!!!
答案 0 :(得分:1)
如果$data['menu']
包含 3个键/值对,但未设置$data['menu']['menu_item']
,则说明
$data['menu']['menu_item']
= $this->Menu->get_admin_menu_item_data($menu->ad_menu_id);
就是这样。
因此count( $data['menu'] )
之后返回4个元素 - 包括新添加的'menu_item'
键。
答案 1 :(得分:0)
我不知道CodeIgniter,但是会覆盖静态变量
$data['menu']['menu_item'] = "someting"
永远没有意义。您真正想要存储
的结果$this->Menu->get_admin_menu_item_data($menu->ad_menu_id);
?您可以而且应该使用var_dump检查变量的内容。