动态多级菜单php的递归函数

2023-12-19

I've a mysql表结构如下:

CREATE TABLE IF NOT EXISTS menu(
id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,
p_id INT(5), -- parent id
sort_id INT(5) NOT NULL, -- for position
title VARCHAR(50) NOT NULL,
etc ...);

数据结构将是这样的:

id | p_id | sort_id | title 
1  | NULL |    1    |  root_1
2  |  1   |    1    |  sub1 of root_1
3  |  1   |    2    |  sub2 of root_1
4  | NULL |    2    |  root_2
5  |  2   |    1    |  sub1 of root_2
6  |  2   |    2    |  sub2 of root_2
7  |  3   |    1    |  sub1 of `sub2 of root_1`

我创建了一个 php 脚本来显示一级子菜单,但我无法决定如何获得其他级别。我认为需要一个递归函数,例如,得到sub1 of sub2 of root_1此任务中的元素。

如果有人知道如何在这种情况下开始创建递归函数,请告诉我,谢谢:)


最好首先将其转换为树类型结构:

Menu Top
  |
Nodes with NULL p_id
  |
Children

您可以通过创建一个具有子数组的 MenuNode 类来完成此操作。您不必这样做,但它会使创建递归函数来输出菜单变得更加容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态多级菜单php的递归函数 的相关文章

随机推荐