ホームページ  >  記事  >  バックエンド開発  >  親 ID を含むリストをツリーに変換し、ID リストをツリーに変換する_PHP チュートリアル

親 ID を含むリストをツリーに変換し、ID リストをツリーに変換する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:58:331040ブラウズ

親 ID を含むリストをツリーに変換し、ID リストをツリーに変換します

データベースは通常、ツリーをリスト (id、pid) の形式で保存することがわかっています。このツリーを抽出するにはどうすればよいですか?最も簡単な方法は、pid に基づいてループ内でテーブルを検索することです。しかし、これによってデータベース クエリのオーバーヘッドが膨大になることは間違いありません。

一般的に推奨される方法は、関連するすべてのデータを一度に見つけることですが、これにはツリーを迅速に構築する方法という問題が伴います。

これは少なくとも 1 回の再帰を必要とする複雑な操作であり、時間計算量は O(n) にならないだろうと常に考えていました。

少し前、仕事の要件があり、この問題を解決する必要がありました。注意深く考えてみたところ、この問題は次のように単層ループで解決できることがわかりました。

リーリー

テストしてみましょう:

リーリー

結果:

リーリー

リストをツリーに変換しました

www.bkjia.com本当http://www.bkjia.com/PHPjc/1102845.html技術記事親 ID を含むリストをツリーに変換し、ID リストをツリーに変換します。通常、データベースはツリーをリスト (id、pid) の形式で保存することがわかっています。このツリーを抽出するにはどうすればよいですか?最も簡単な方法は次のとおりです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。