当前位置:   article > 正文

php后台无限分类的三种方式,通用于layui树形组件与thinkphp_layui tree php

layui tree php

无限分类,是指从一个最高分类开始,每个子分类都可以分出自己的若干个子分类,可以一直分下去,称为无限级分类;

下面是对省市县的无限极分类的列子。数据库如图:

 

  1. /**
  2. * @Description: 无限极分类一
  3. * @Author: Yang
  4. * @param $data 数据库数据
  5. * @param int $parent_id 父级ID
  6. * @return array
  7. */
  8. function getTree1($data, $parent_id = 0)
  9. {
  10. $tree = array();
  11. foreach ($data as $k => $v) {
  12. if ($v["parent_id"] == $parent_id) {
  13. unset($data[$k]);
  14. if (!empty($data)) {
  15. $children = getTree1($data, $v["id"]);
  16. if (!empty($children)) {
  17. $v["_child"] = $children;
  18. }
  19. }
  20. $tree[] = $v;
  21. }
  22. }
  23. return $tree;
  24. }
  25. /**
  26. * @Description: 无限极分类二
  27. * @Author: Yang
  28. * @param $data 数据库数据
  29. * @param int $parent_id 父级ID
  30. * @param int $level 等级
  31. * @return array
  32. */
  33. function getTree2($data, $parent_id = 0, $level = 0)
  34. {
  35. static $tree = array();
  36. foreach ($data as $k => $v) {
  37. if ($v["parent_id"] == $parent_id) {
  38. $v["level"] = $level;
  39. $tree[] = $v;
  40. getTree2($data, $v["id"], $level + 1);
  41. }
  42. }
  43. return $tree;
  44. }
  45. /**
  46. * @Description: 无限分类三:面包屑导航
  47. * @Author: Yang
  48. * @param $data 数据库数据
  49. * @param $id 分类ID
  50. * @return array
  51. */
  52. function getCrumbsBar($data, $id) {
  53. static $tree = array();
  54. foreach ($data as $k => $v) {
  55. if ($v["id"] == $id) {
  56. getCrumbsBar($data, $v["parent_id"]);
  57. $tree[] = $v;
  58. }
  59. }
  60. return $tree;
  61. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/495296
推荐阅读
相关标签
  

闽ICP备14008679号