Php 从数组生成菜单和子菜单
从昨天开始我就一直在努力,今天我终于接近成功了 问题 我的PHP脚本挂起,我的意思是,它似乎无限循环,导致脚本挂起。数据库中只有11条记录 此函数循环遍历从generate_模块传递到函数中的数据数组,并生成菜单和子菜单Php 从数组生成菜单和子菜单,php,arrays,Php,Arrays,从昨天开始我就一直在努力,今天我终于接近成功了 问题 我的PHP脚本挂起,我的意思是,它似乎无限循环,导致脚本挂起。数据库中只有11条记录 此函数循环遍历从generate_模块传递到函数中的数据数组,并生成菜单和子菜单 function module_keys($array = array(), $modules_parent = 0){ echo '<ul class="nav navbar-nav side-nav">'; foreach($array as $
function module_keys($array = array(), $modules_parent = 0){
echo '<ul class="nav navbar-nav side-nav">';
foreach($array as $item){
echo '<li>';
echo '<a>';
echo $item->modules_name;
echo '</a>';
module_keys($array, $item->modules_id);
echo '</li>';
}
echo '</ul>';
}
这是数据库结构
问题在于:
echo '</a>';
module_keys($array, $item->modules_id);
echo '</li>';
}
然后,您需要确保module_键中的函数调用传递子数组元素,以便可以构造子菜单
比如:
我希望这有帮助
注
我使用过数组,但看起来您使用的是对象,您可能需要将我的建议转换为对象,以便它看起来与您所做的相同
echo '</a>';
module_keys($array, $item->modules_id);
echo '</li>';
}
function generate_module(){
global $db;
$array = array();
$sql = "SELECT * FROM module";
$query = $db->SELECT($sql);
$array = $db->ROWS();
//iterate over the menu items and get each of the child menu items
//add them into the original array then pass that
$newArray = array();
foreach($array as $menuItem) {
$submenu = //some additional query to collect the data
$temp = array();
$temp = $menuItem;
$temp['submenu'] = $submenu;
}
module_keys($newArray, $modules_parent = 0);
}
module_keys($item['submenu'], $item->modules_id);