ホームページ >バックエンド開発 >PHPチュートリアル >PHP は再帰関数を使用して無限分類を実現します。PHP recursion_PHP チュートリアル
php を学ぶ友人の多くは、スキルを向上させる方法としてオンライン モールを構築しようとすると思います。商品分類や商品名などのさまざまな操作に慣れてきたら、無制限に分類リストを作成してみましょう。
無限分類とは?
無限レベル分類は、部門組織、記事分類、主題分類などの分類手法です。無限レベル分類は、単純に分類として理解できます。実際、よく考えてみると、服は紳士服と婦人服、トップスとパンツに分けることができ、また年齢層によっても分類することができます。分類はどこにでも存在し、分類は「無限」であるように見えます。無限分類の必要性についてはここでは話しません。
無限分類の原理の紹介
無限分類というと「高級そう」に見えるかもしれませんが、実は原理はとてもシンプルです。無限分類はコードの創意工夫を必要とするだけでなく、データベース設計の合理性にも依存します。無限の分類を満たすには、データベースに id と pid という 2 つの必須フィールドが必要です。 id は自身を識別するために使用され、pid は親 ID を示すために使用されます。言い換えれば、各分類レコードはそれ自体を説明するだけでなく、最も密接に関係している別の ID も説明します。複雑そうに見えた問題も、ちょっとした工夫で解決しました。
早速、この記事の例を紹介します。
熱心な海賊ファンとして、この記事では『ワンピース』のキャラクター編成を例に挙げていきます。
データベースの準備:
ビルドウォッチワンピース:
リーリーテストデータを挿入:
リーリーこれは今でも大衆科学に基づいたワンピースの設定です。世界は海軍、海賊、革命軍の3つの主要な陣営に分かれています。海軍には青キジ、赤犬、黄猿という大将がいます。海賊には四皇、七武海、麦わらの一味がいます。四皇にはシャンクス、七武海にはドフラミンゴとクロコダイル、麦わらの一味にはゾロがいます。 (宣伝: ワンピースは本当に良いです)。
最終目標:
今日作っているのは、ドロップダウンリスト型とナビゲーションリンク型の2つの無限分類フォームです。レンダリングは直接アップロードされます:
ドロップダウンリストスタイルナビゲーションリンクスタイル
コード例:
Unlimitedクラスをカプセル化し、diaplayList()を呼び出してドロップダウンリストフォームを表示し、diaplayLinkを呼び出してナビゲーションリンクカテゴリを表示しました。カテゴリを追加 (addNodes()) および削除 (deleteNodes) することもできます。
リーリー
クラス内の関数は主に再帰関数の手法を採用しています。再帰関数を深く理解していれば、残りは理解できます。 PHP 再帰関数の次の 3 つの方法では、PHP 再帰関数の原理を詳しく紹介します。