PHP - 关联数组 - 添加空行

时间:2012-04-29 16:38:05

标签: php codeigniter-2 associative-array foreach-loop-container

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

请帮助!!!!

2 个答案:

答案 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检查变量的内容。