获取左右值无限分类的路径关系
풀어 주다: 2016-07-25 08:50:57
最近需要一个可以显示类似 1 > 2 1 > 2 > 3 1 > 2 > 3 > 4 这样的玩意儿,自己不会算法,硬是走了很多弯路,当然希望各位有更好的方法,欢迎吐槽。
- public function getPaths($nodes)
- {
- $levels = $paths = array();
- // 重组数组层级
- foreach ($nodes as $id => $node)
- {
- $levels[$node['level']][$id] = $node;
- }
- for ($i = 0; $i {
- if (is_array($levels[$i]))
- {
- foreach ($levels[$i] as $level)
- {
- $id = $level['id'];
- $parent_id = $level['parent_id'];
- $parent = $paths[$parent_id];
- // 存在父级并取出附加到当前节点
- if ($parent)
- {
- $paths[$id] = $parent;
- $paths[$id][] = $level['id'];
- }
- else
- {
- $paths[$id][] = $level['id'];
- }
- }
- }
- }
- return $paths;
- }
复制代码
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-09-20 15:51:33
-
2024-09-20 15:47:32
-
2024-09-20 15:45:32
-
2024-09-20 15:39:32
-
2024-09-20 15:38:32
-
2024-09-20 15:27:32
-
2024-09-20 15:26:32
-
2024-09-20 15:12:32
-
2024-09-20 14:53:01
-
2024-09-20 14:51:01