0

我正在尝试通过使用 CodeIgniter 从 DB 获取数据来构建动态 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 新手,所以现在确定创建结构来保存此类数据的最佳方法是什么。

请帮忙!!!!

4

2 回答 2

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'键。

于 2012-04-29T17:08:38.253 回答
0

我不知道 CodeIgniter,但是覆盖了一个静态变量

$data['menu']['menu_item'] = "someting"

永远没有意义。你真的想把结果存储在哪里

$this->Menu->get_admin_menu_item_data($menu->ad_menu_id);

? 您可以并且应该使用var_dump检查变量的内容。

于 2012-04-29T17:07:32.753 回答