查看: 3413|回复: 0

[PHP代码] PHP两种实现无级递归分类的方法

发表于 2018-2-27 08:18:22

话不多说,请看代码:

  1. /**
  2. * 无级递归分类 TP框架
  3. * @param int $assortPid 要查询分类的父级id
  4. * @param mixed $tag 上下级分类之间的分隔符
  5. * @return string $tree 返回的分类树型结构结果
  6. *
  7. */
  8. function recursiveAssort($assortPid, $tag = '')
  9. {
  10. $assort = M('goods_class')->where("class_pid = $assortPid")->field('class_id, class_name')->select();
  11. foreach ($assort as $value) {
  12. $tree .= '<option value="' . $value['class_id'] . '">' . $tag . $value['class_name'] . '</option>';
  13. $tree .= recursiveAssort($value['class_id'], $tag . '?');
  14. }
  15. return $tree;
  16. }
复制代码
  1. /**
  2. * 利用php的引用传递 CI框架
  3. *
  4. */
  5. public function get_access()
  6. {
  7. $access = array();
  8. $field = 'id, pid, method, name, description';
  9. $q_access = $this->db->select($field)->get('access');
  10. $q_result = $q_access->result_array();
  11. if (!empty($q_result)) {
  12. $items = array();
  13. foreach ($q_result as $value) {
  14. $items[$value['id']] = $value;
  15. }
  16. foreach ($items as $key => $item) {
  17. if ($item['pid'] == 0) {
  18. $access[] = &$items[$key];
  19. } else {
  20. $items[$item['pid']]['sub_access'][] = &$items[$key];
  21. }
  22. }
  23. }
  24. return $access;
  25. }
复制代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持程序员之家!

您可能感兴趣的文章:

  • ThinkPHP实现递归无级分类——代码少


回复

使用道具 举报