


Praktische PHP-Nutzung der Rekursion zum Lesen unbegrenzter Produktkategorien
Als ich kürzlich an einem Einkaufszentrum-Projekt arbeitete, musste ich die Daten in der Klassifizierungstabelle herausnehmen. Die Klassifizierungstabelle wurde jeder Kategorie über eine PID (Elternklassen-ID) zugeordnet, um sie zu organisieren Um zweidimensionale Daten in ein Baumformat einzulesen, habe ich die folgende Methode in das Projekt eingekapselt.
<code><span>/** * [treeCats description] *<span> @param</span> [array] $arr [原始未排序的数组] *<span> @param</span> [array] $limit [第一个元素代表开始递归的parent_id,默认为0,第二个元素代表剔除元素及子元素cat_id,如果没有传值,默认为0] *<span> @param</span> integer $level [函数调用的深度] *<span> @return</span> [array] [排好序的数组] */</span><span>public</span><span><span>function</span><span>treeCats</span><span>(<span>$arr</span>,<span>$limit</span>,<span>$level</span>=<span>0</span>)</span>{</span><span>$rec</span> = <span>array</span>(); <span>//先消除cat_id对应的值</span><span>foreach</span> (<span>$arr</span><span>as</span><span>$key</span>=><span>$value</span>){ <span>if</span>(<span>$value</span>[<span>'cat_id'</span>]!=<span>$limit</span>[<span>'cd'</span>]){ <span>$arr_new</span> [<span>$key</span>]=<span>$value</span>; } } <span>//对于新数组进行遍历</span><span>foreach</span> (<span>$arr_new</span><span>as</span><span>$key</span> => <span>$value</span>) { <span>if</span>(<span>$value</span>[<span>'parent_id'</span>]==<span>$limit</span>[<span>"pd"</span>] &&<span>$value</span>[<span>'parent_id'</span>]!=<span>$limit</span>[<span>"cd"</span>]){ <span>$value</span>[<span>'level'</span>]=<span>$level</span>; <span>$rec</span> []= <span>$value</span>; <span>//生成用于下一层循环的数组</span><span>$next_limit</span> = <span>array</span>(<span>"pd"</span>=><span>$value</span>[<span>'cat_id'</span>],<span>"cd"</span>=><span>$limit</span>[<span>"cd"</span>]); <span>$rec</span> = array_merge(<span>$rec</span>,<span>$this</span>->treeCats(<span>$arr</span>,<span>$next_limit</span>,<span>$level</span>+<span>1</span>)); } } <span>return</span><span>$rec</span>; } </code>
Das Anwendungsszenario für die Festlegung von $limit besteht darin, dass der Zweig verloren geht, wenn die übergeordnete Kategorie dieser Kategorie in ihre ursprüngliche Unterkategorie geändert wird. Daher sollte die optionale Kategorie zu diesem Zeitpunkt Eliminieren lauten seine Unterklassen.
Das Obige hat die praktische Verwendung von PHP zum rekursiven Lesen unbegrenzter Produktkategorien vorgestellt, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die an PHP-Tutorials interessiert sind.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



„Detaillierte Erläuterung der Verwendung von Take und Limit in Laravel“ In Laravel sind Take und Limit zwei häufig verwendete Methoden, mit denen die Anzahl der in Datenbankabfragen zurückgegebenen Datensätze begrenzt wird. Obwohl ihre Funktionen ähnlich sind, gibt es einige subtile Unterschiede in bestimmten Nutzungsszenarien. In diesem Artikel wird die Verwendung dieser beiden Methoden im Detail analysiert und spezifische Codebeispiele bereitgestellt. 1. Take-Methode In Laravel wird die Take-Methode verwendet, um die Anzahl der zurückgegebenen Datensätze zu begrenzen, normalerweise in Kombination mit der orderBy-Methode.

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

In der objektorientierten Programmierung können wir durch Vererbung neue Klassen erstellen, die die Eigenschaften und Methoden einer vorhandenen Klasse erben. Dieses leistungsstarke Konzept ermöglicht die Wiederverwendung von Code, Modularität und Erweiterbarkeit in unseren Programmen. Bevor wir uns mit dem Zugriff auf übergeordnete Klassenattribute befassen, gehen wir vor

In PHP gibt es viele leistungsstarke Array-Funktionen, die Array-Operationen komfortabler und schneller machen können. Wenn wir zwei Arrays zu einem assoziativen Array kombinieren müssen, können wir diese Operation mit der Funktion array_combine von PHP ausführen. Diese Funktion wird tatsächlich verwendet, um die Schlüssel eines Arrays als Werte eines anderen Arrays zu einem neuen assoziativen Array zu kombinieren. Als nächstes erklären wir, wie man die Funktion array_combine in PHP verwendet, um zwei Arrays zu einem assoziativen Array zu kombinieren. Erfahren Sie mehr über array_comb

Beim Programmieren in PHP müssen wir häufig Arrays zusammenführen. PHP stellt die Funktion array_merge() bereit, um die Array-Zusammenführung abzuschließen. Wenn jedoch derselbe Schlüssel im Array vorhanden ist, überschreibt diese Funktion den ursprünglichen Wert. Um dieses Problem zu lösen, stellt PHP in der Sprache auch eine Funktion array_merge_recursive() bereit, die Arrays zusammenführen und die Werte derselben Schlüssel beibehalten kann, wodurch das Programmdesign flexibler wird. array_merge

Take und Limit sind zwei in Laravel häufig verwendete Methoden, um die Anzahl der Abfrageergebnismengen zu begrenzen. Obwohl sie gewisse Ähnlichkeiten in der Funktionalität aufweisen, unterscheiden sie sich in der Verwendung und einigen Details. In diesem Artikel werden die Funktionen und die Verwendung dieser beiden Methoden detailliert verglichen und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, die Unterschiede zwischen ihnen besser zu verstehen und sie richtig anzuwenden. 1.take-Methode Die take-Methode befindet sich im LaravelEloquent-Abfrage-Builder

In Laravel verwenden wir häufig einige Methoden, um die Anzahl der Abfrageergebnisse zu begrenzen, einschließlich Take- und Limit-Methoden. Sie können zwar beide verwendet werden, um die Anzahl der Abfrageergebnisse zu begrenzen, weisen jedoch einige subtile Unterschiede auf. In diesem Artikel gehen wir eingehend auf die Unterschiede zwischen Take und Limit in Laravel ein und veranschaulichen sie anhand konkreter Codebeispiele. Schauen wir uns zunächst die Take-Methode an. Die Take-Methode ist Teil von Eloquent und wird typischerweise für verwendet

StreamAPI wurde in Java 8 eingeführt, was den Betrieb von Sammlungen erheblich vereinfachen kann. Die Stream-Klasse bietet viele funktionale Methoden zum Bearbeiten von Streams, einschließlich Filtern, Zuordnen, Zusammenführen und mehr. Unter diesen sind Limit und Skip zwei Funktionen, mit denen die Anzahl der Elemente in Stream-Operationen begrenzt wird. 1. Limit-Funktion Die Limit-Funktion wird verwendet, um die Anzahl der Elemente im Stream zu begrenzen. Sie akzeptiert einen langen Typparameter n, der die Anzahl der Limits darstellt. Nach dem Aufruf der Limit-Funktion wird ein neuer Stream zurückgegeben, der nur enthält
