我有一个数组,我们称之为$菜单,其中包含以下内容:
Array(
[Main] => Array (
[menu_name] => Main
[title] => Main Menu
)
[Nav] => Array (
[menu_name] => Navigation
[title] => Navigation Menu
)
[Custom] => Array (
[menu_name] => User Custom Menu
[title] => My Menu
)
)
......等等。
我需要创建一个只包含菜单名称列表的新数组。因此,如果我要获得,只是导航菜单的名称,我会做
$module_menu_name = $menus [Nav][menu_name];
现在$ module_menu_name =“导航”,对吧?
但是如何获取关联数组中每个项目的menu_name?
类似的东西:
$menu_names = Array();
foreach($menus as $menu){
$module_menu_names[] => ???['menu_name'];
}
......这就是我被卡住的地方。我把这些问号放在哪里?这甚至是构建这个数组的正确方法吗?
答案 0 :(得分:3)
$menu_names = Array();
foreach($menus as $menu){
$menu_names[] = $menu['menu_name'];
}
喜欢这个吗?
在你的foreach中,$ menu返回第二级数组。要访问'menu_name',只需获取第二级数组的值并将其放入$ menu_names数组中。
注意:我将$ module_menu_names数组更改为$ menu_names,因为它似乎就是你想要做的。如果没有,只需将foreach循环中的$ menu_names更改为$ module_menu_names。
答案 1 :(得分:0)
$menu_names = Array();
foreach($menus as $menu){
$menu_names[] = $menu['menu_name'];
}
答案 2 :(得分:0)
你需要这个。
$array = array();
foreach($menus as $menu) {
$array['nav']['menu_name'][] = $menu['menu_name'];
}
因为您的阵列中会有多个菜单,您可以像这样调用菜单
//this will return the first menu in an array
$module_menu_name = $array['nav']['menu_name'][0];
更改数字索引编号,您可以从数组中获取所需的菜单。