php二级菜单怎么遍历
-
以下是遍历二级菜单的PHP代码示例:
“`php
array(
‘子菜单1’ => array(
‘子菜单1-1’,
‘子菜单1-2’,
‘子菜单1-3’
),
‘子菜单2’ => array(
‘子菜单2-1’,
‘子菜单2-2’,
‘子菜单2-3’
),
‘子菜单3’ => array(
‘子菜单3-1’,
‘子菜单3-2’,
‘子菜单3-3’
)
),
‘菜单2’ => array(
‘子菜单4’ => array(
‘子菜单4-1’,
‘子菜单4-2’,
‘子菜单4-3’
),
‘子菜单5’ => array(
‘子菜单5-1’,
‘子菜单5-2’,
‘子菜单5-3’
),
‘子菜单6’ => array(
‘子菜单6-1’,
‘子菜单6-2’,
‘子菜单6-3’
)
),
‘菜单3’ => array(
‘子菜单7’ => array(
‘子菜单7-1’,
‘子菜单7-2’,
‘子菜单7-3’
),
‘子菜单8’ => array(
‘子菜单8-1’,
‘子菜单8-2’,
‘子菜单8-3’
),
‘子菜单9’ => array(
‘子菜单9-1’,
‘子菜单9-2’,
‘子菜单9-3’
)
)
);function traverseMenu($menu) {
foreach ($menu as $key => $value) {
echo $key . “\n”;
if (is_array($value)) {
traverseMenu($value);
} else {
echo $value . “\n”;
}
}
}traverseMenu($menu);
?>
“`以上代码使用递归实现了二级菜单的遍历。输出结果为每个菜单项的标题。你可以根据需要自行修改输出的格式。
2年前 -
在PHP中,遍历二级菜单通常是通过多维数组来实现的。下面是遍历二级菜单的几种常见方法:
1. 使用foreach循环:
“`php
$menu = array(
‘菜单1’ => array(‘子菜单1’, ‘子菜单2’, ‘子菜单3’),
‘菜单2’ => array(‘子菜单4’, ‘子菜单5’, ‘子菜单6’),
‘菜单3’ => array(‘子菜单7’, ‘子菜单8’, ‘子菜单9’)
);foreach ($menu as $key => $value) {
echo $key . “:”;
foreach ($value as $sub_menu) {
echo $sub_menu . ” “;
}
echo “
“;
}
“`2. 使用for循环:
“`php
$menu = array(
‘菜单1’ => array(‘子菜单1’, ‘子菜单2’, ‘子菜单3’),
‘菜单2’ => array(‘子菜单4’, ‘子菜单5’, ‘子菜单6’),
‘菜单3’ => array(‘子菜单7’, ‘子菜单8’, ‘子菜单9’)
);$menu_keys = array_keys($menu);
$menu_count = count($menu_keys);for ($i = 0; $i < $menu_count; $i++) { echo $menu_keys[$i] . ":"; $sub_menu_count = count($menu[$menu_keys[$i]]); for ($j = 0; $j < $sub_menu_count; $j++) { echo $menu[$menu_keys[$i]][$j] . " "; } echo "
“;
}
“`3. 使用while循环:
“`php
$menu = array(
‘菜单1’ => array(‘子菜单1’, ‘子菜单2’, ‘子菜单3’),
‘菜单2’ => array(‘子菜单4’, ‘子菜单5’, ‘子菜单6’),
‘菜单3’ => array(‘子菜单7’, ‘子菜单8’, ‘子菜单9’)
);$menu_keys = array_keys($menu);
$menu_count = count($menu_keys);$i = 0;
while ($i < $menu_count) { echo $menu_keys[$i] . ":"; $sub_menu_count = count($menu[$menu_keys[$i]]); $j = 0; while ($j < $sub_menu_count) { echo $menu[$menu_keys[$i]][$j] . " "; $j++; } echo "
“;
$i++;
}
“`4. 使用递归:
“`php
$menu = array(
‘菜单1’ => array(‘子菜单1’, ‘子菜单2’, ‘子菜单3’),
‘菜单2’ => array(‘子菜单4’, ‘子菜单5’, ‘子菜单6’),
‘菜单3’ => array(‘子菜单7’, ‘子菜单8’, ‘子菜单9’)
);function traverse_menu($menu) {
foreach ($menu as $key => $value) {
if (is_array($value)) {
echo $key . “:”;
traverse_menu($value);
echo “
“;
} else {
echo $value . ” “;
}
}
}traverse_menu($menu);
“`5. 使用array_walk_recursive函数:
“`php
$menu = array(
‘菜单1’ => array(‘子菜单1’, ‘子菜单2’, ‘子菜单3’),
‘菜单2’ => array(‘子菜单4’, ‘子菜单5’, ‘子菜单6’),
‘菜单3’ => array(‘子菜单7’, ‘子菜单8’, ‘子菜单9’)
);function print_value($value) {
echo $value . ” “;
}array_walk_recursive($menu, ‘print_value’);
“`以上是PHP遍历二级菜单的几种常见方法,可以根据自己的需求选择合适的方法来遍历。需要注意的是,以上方法可以根据自己的数据结构和需求进行调整和改进。
2年前 -
要遍历一个二级菜单,可以使用循环结构来实现。下面是一个基本的PHP代码示例:
“`php
$menu = array(
‘菜单1’ => array(
‘子菜单1’,
‘子菜单2’,
‘子菜单3’
),
‘菜单2’ => array(
‘子菜单4’,
‘子菜单5’,
‘子菜单6’
),
‘菜单3’ => array(
‘子菜单7’,
‘子菜单8’,
‘子菜单9’
)
);foreach ($menu as $key => $submenu) {
echo $key . “:\n”;
foreach ($submenu as $subkey => $subvalue) {
echo ” ” . $subvalue . “\n”;
}
echo “\n”;
}
“`上面的代码示例中,我们使用了一个多维数组来表示二级菜单。外层循环遍历一级菜单,内层循环遍历对应的子菜单。通过使用循环和数组嵌套,我们可以将二级菜单的内容输出到屏幕上。
在上面的示例中,我们使用了`echo`函数将菜单内容输出到屏幕上。你也可以根据自己的需求来修改输出的形式,比如将菜单内容存储到一个变量中,或者将菜单内容渲染到HTML页面中。
希望上面的示例代码能对你有所帮助,如果有任何问题,请随时提问。
2年前