左右の値の無限カテゴリのパス関係を取得します。

WBOY
リリース: 2016-07-25 08:50:57
オリジナル
880 人が閲覧しました
最近、
1 > 2
1 > 2 > 3
1 > 2 > 3 > 4
みたいな表示ができるものが必要なんですが、アルゴリズムが分からないので、かなり遠回りしてしまいました。 Tucao さん、もっと良い方法があるといいですね。
  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. }
コードをコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!