Rumah > pembangunan bahagian belakang > tutorial php > 获取左右值无限分类的路径关系

获取左右值无限分类的路径关系

WBOY
Lepaskan: 2016-07-25 08:50:57
asal
929 orang telah melayarinya
最近需要一个可以显示类似
1 > 2
1 > 2 > 3
1 > 2 > 3 > 4
这样的玩意儿,自己不会算法,硬是走了很多弯路,当然希望各位有更好的方法,欢迎吐槽。
  1. public function getPaths($nodes)
  2. {
  3. $levels = $paths = array();
  4. // 重组数组层级
  5. foreach ($nodes as $id => $node)
  6. {
  7. $levels[$node['level']][$id] = $node;
  8. }
  9. for ($i = 0; $i {
  10. if (is_array($levels[$i]))
  11. {
  12. foreach ($levels[$i] as $level)
  13. {
  14. $id = $level['id'];
  15. $parent_id = $level['parent_id'];
  16. $parent = $paths[$parent_id];
  17. // 存在父级并取出附加到当前节点
  18. if ($parent)
  19. {
  20. $paths[$id] = $parent;
  21. $paths[$id][] = $level['id'];
  22. }
  23. else
  24. {
  25. $paths[$id][] = $level['id'];
  26. }
  27. }
  28. }
  29. }
  30. return $paths;
  31. }
复制代码


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan