PHP如何构建无限级菜单,形成长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计166个文字,预计阅读时间需要1分钟。
php/** * 生成无限级菜谱数据 * @param array $list 数据列表 * @param string $pk 主键ID * @param string $pid 父ID * @param string $son 子级字段 * @param int $root 根节点 * @return array */protected 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 ($children) { $data[$son]=$children; } $tree[]=$data; } } return $tree;}
/** * 生成无限级分类 * @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; }
本文共计166个文字,预计阅读时间需要1分钟。
php/** * 生成无限级菜谱数据 * @param array $list 数据列表 * @param string $pk 主键ID * @param string $pid 父ID * @param string $son 子级字段 * @param int $root 根节点 * @return array */protected 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 ($children) { $data[$son]=$children; } $tree[]=$data; } } return $tree;}
/** * 生成无限级分类 * @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; }

