Heim > Artikel > Backend-Entwicklung > So nutzen Sie die unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung
Mit der rasanten Entwicklung des Internets werden die Funktionen und Anforderungen von Websites immer komplexer. Unter diesen ist die unendliche Klassifizierungsfunktion eine sehr wichtige Methode zum Organisieren und Verwalten von Informationen. Es kann Entwicklern helfen, Informationen effektiv zu organisieren, sodass Benutzer schneller finden, was sie brauchen. Heute stellen wir vor, wie Sie die unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung verwenden.
Was ist die unbegrenzte Klassifizierungsfunktion?
Bei der herkömmlichen Klassifizierung kann jede Kategorie nur eine übergeordnete Kategorie und mehrere untergeordnete Kategorien haben. In einigen komplexen Szenarien ist diese Klassifizierungsmethode jedoch begrenzt. Beispielsweise kann ein Produkt mehreren Marken, mehreren Klassifizierungsgruppen, mehreren Regionen usw. angehören. Zu diesem Zeitpunkt kann die unbegrenzte Klassifizierungsfunktion bessere Lösungen bieten.
Die unbegrenzte Klassifizierungsfunktion unterliegt, wie der Name schon sagt, keinen Ebenenbeschränkungen. Klassifizierungen können frei kombiniert werden und ein Datenelement kann zu mehreren Kategorien gehören. Diese Funktion eignet sich für Szenarien, die eine flexible Organisation von Daten erfordern, z. B. Blogklassifizierung, Produktklassifizierung, Nachrichtenklassifizierung usw.
So implementieren Sie eine unbegrenzte Klassifizierungsfunktion
Im Folgenden stellen wir Ihnen Schritt für Schritt vor, wie Sie eine unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung implementieren.
Schritt 1: Erstellen Sie eine Datenbanktabelle
Beim Erstellen einer Datenbanktabelle müssen wir drei Schlüsselfelder berücksichtigen, nämlich Kategorie-ID, Kategoriename und Kategorie-Eltern-ID. Die Kategorie-ID ist die eindeutige Kennung jeder Kategorie, der Kategoriename wird zum Anzeigen von Kategorieinformationen verwendet und die übergeordnete Kategorie-ID gibt die übergeordnete Kategorie-ID der Kategorie an.
CREATE TABLE categories
(categories
(
id
int(11) NOT NULL,
name
varchar(100) NOT NULL,
parent_id
int(11) NOT NULL,
PRIMARY KEY (id
)
);
第二步:插入分类数据
在数据库表中插入分类数据时,可以使用嵌套集合模型的方式,即用左右值描述每个分类层级组织关系,示例如下:
INSERT INTO categories
(id
, name
, parent_id
, lft
, rgt
id
int(11) NOT NULL,
name
varchar(100) NOT NULL,
parent_id
int(11) NOT NULL,
PRIMARY KEY (id
)
);
categories
(id
, name
, parent_id
, lft
, rgt
) VALUES(1, 'Elektrisch Geräte', 0, 1, 10),
(2, ' TV', 1, 2, 3),(3, 'Mobiltelefongeräte', 1, 4, 9),
(4, 'Smartphone', 3, 5, 6),
{
$sql = 'SELECT * FROM `categories` WHERE `parent_id` = ? ORDER BY `lft` ASC'; $stmt = $pdo->prepare($sql); $stmt->execute([$parentId]); $categories = $stmt->fetchAll(PDO::FETCH_ASSOC); if (!empty($categories)) { $level++; $categories = array_map(function ($category) use ($level) { $category['level'] = $level; $category['children'] = getCategories($category['id'], $level); return $category; }, $categories); } return $categories;} In dieser Funktion fragen wir zunächst alle Unterkategorien unter der aktuellen übergeordneten Kategorie ab und sortieren sie nach L-Wert. Anschließend wird durch rekursiven Aufruf die Unterkategorie der Unterkategorie abgefragt und im Kinderfeld gespeichert. Schließlich wird ein kategoriales Array zurückgegeben. Schritt 4: Kategoriale Daten anzeigenBei der Anzeige kategorialer Daten können wir rekursive Durchquerung verwenden. Das Beispiel lautet wie folgt: Funktion showCategories($categories)🎜{🎜
if (!empty($categories)) { echo '<ul>'; foreach ($categories as $category) { echo '<li>' . $category['name'] . '</li>'; if (!empty($category['children'])) { showCategories($category['children']); } } echo '</ul>'; }🎜}🎜🎜In dieser Funktion bestimmen wir zunächst ob das Kategorie-Array leer ist. Wenn nicht, durchlaufen Sie das Array und zeigen Sie den Kategorienamen an. Wenn die Kategorie dann Unterkategorien hat, rufen Sie sich selbst rekursiv auf, um die Unterkategorien anzuzeigen. 🎜🎜Fazit🎜🎜Durch die oben genannten vier Schritte können wir problemlos unbegrenzte Klassifizierungsfunktionen implementieren und auch rekursive Methoden verwenden, um klassifizierte Daten anzuzeigen. Diese Funktion ist in der tatsächlichen Entwicklung sehr verbreitet, insbesondere in E-Commerce, Nachrichten, Blogs und anderen Szenarien. Ich hoffe, dass dieser Artikel PHP-Entwickler inspirieren und ihnen helfen kann, den tatsächlichen Entwicklungsanforderungen besser gerecht zu werden. 🎜
Das obige ist der detaillierte Inhalt vonSo nutzen Sie die unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!