Arr.php 585 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace app\common\lib;
  3. class Arr
  4. {
  5. /**
  6. * 分类树,支持无限极分类
  7. * @param $data
  8. * @return array
  9. */
  10. public static function getTree($data): array
  11. {
  12. $items = [];
  13. foreach ($data as $v) {
  14. $items[$v['id']] = $v;
  15. }
  16. $tree = [];
  17. foreach ($items as $id => $item) {
  18. if (isset($items[$item['pid']])) {
  19. $items[$item['pid']]['list'][] = &$items[$id];
  20. } else {
  21. $tree[] = &$items[$id];
  22. }
  23. }
  24. return $tree;
  25. }
  26. }