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

WBOY
Freigeben: 2016-07-25 08:50:57
Original
880 Leute haben es durchsucht
最近需要一个可以显示类似
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. }
复制代码


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!