如何用PHP实现生成多级嵌套菜单数据?

更新于
2026-09-24 22:05:26
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计155个文字,预计阅读时间需要1分钟。

如何用PHP实现生成多级嵌套菜单数据?

PHP生成无限级菜单数据生成无限级分类@param array $list 数据@param string $pk 主键ID@param string $pid 父ID@param string $son 子级字段@param int $root 根节点@return arrayprotected function tree($list, $pk, $pid, $son, $root) { $tree=array(); foreach ($list as $data) { if ($data[$pid]==$root) { $children=$this->tree($list, $pk, $pid, $son, $data[$pk]); if (!empty($children)) { $data['children']=$children; } $tree[]=$data; } } return $tree;}

如何用PHP实现生成多级嵌套菜单数据?

PHP生成无限级菜单数据

/** * 生成无限级分类 * @param $list 数据 * @param string $pk 主键ID * @param string $pid 子ID * @param string $son 子级字段 * @param int $root * @return array */ protected function tree($list, $pk = 'id', $pid = 'pid', $son = 'son', $root = 0) { $tree = array(); $packData = array(); foreach ($list as $data) { $packData[$data[$pk]] = $data; } foreach ($packData as $key => $val) { if ($val[$pid] == $root) { $tree[] = &$packData[$key]; } else { $packData[$val[$pid]][$son][] = &$packData[$key]; } } return $tree; }

本文共计155个文字,预计阅读时间需要1分钟。

如何用PHP实现生成多级嵌套菜单数据?

PHP生成无限级菜单数据生成无限级分类@param array $list 数据@param string $pk 主键ID@param string $pid 父ID@param string $son 子级字段@param int $root 根节点@return arrayprotected function tree($list, $pk, $pid, $son, $root) { $tree=array(); foreach ($list as $data) { if ($data[$pid]==$root) { $children=$this->tree($list, $pk, $pid, $son, $data[$pk]); if (!empty($children)) { $data['children']=$children; } $tree[]=$data; } } return $tree;}

如何用PHP实现生成多级嵌套菜单数据?

PHP生成无限级菜单数据

/** * 生成无限级分类 * @param $list 数据 * @param string $pk 主键ID * @param string $pid 子ID * @param string $son 子级字段 * @param int $root * @return array */ protected function tree($list, $pk = 'id', $pid = 'pid', $son = 'son', $root = 0) { $tree = array(); $packData = array(); foreach ($list as $data) { $packData[$data[$pk]] = $data; } foreach ($packData as $key => $val) { if ($val[$pid] == $root) { $tree[] = &$packData[$key]; } else { $packData[$val[$pid]][$son][] = &$packData[$key]; } } return $tree; }