無限分類は、部門構造や記事の分類など、開発でよく使用されます。無限分類の難しさは
のような「出力」と「クエリ」にあります。1.実施原則
一般的な実装方法がいくつかあり、それぞれに長所と短所があります。このうち、「改良されたプリオーダートラバーサルツリー」のデータ構造は、出力やクエリには便利ですが、モバイルの分類や一般的な理解においてはやや複雑です。
2. データ構造
リーリー
各カテゴリは親カテゴリ ID (すなわち fid) を介して「連結」され、分類ツリーを形成します。連結を実行するときに注意すべき点が 1 つあります。カテゴリ A の fid をそのサブカテゴリの ID にすることはできません。
このデータ構造を出力に使用するときに最も一般的に使用されるアルゴリズムは「再帰」です。PHP 言語に精通している友人なら、PHP は再帰が苦手であり、再帰の回数が制限されていることを知っているはずです (状況に応じて約 100 回)。オペレーティング システムと構成)。
すべての再帰はループを使用して実装できるため、この記事では、PHP 言語の特性に基づいて、再帰的実装よりも効率的な「無限レベル」分類用の関数のセットを作成しました。
3.ULリストフォームを出力します
上記のデータを以下のHTMLとして出力します
この HTML 構造は、フロントエンドで使用するのに非常に便利です (JavaScript と CSS を使用して折りたたみ可能なツリーを構築します)。具体的な実装手順は以下の通りです
リーリー4. オプションリストフォームを出力します
具体的な実装手順は以下の通りです。
リーリー5. 特定のカテゴリのすべてのサブカテゴリを検索します
6. 特定のカテゴリのすべての親カテゴリを検索します
7. 関連機能
上記の紹介は、再帰を使用せずに PHP で Infinitus 分類を実装する方法についてのものであり、皆様の学習に役立つことを願っています。