Heim Backend-Entwicklung PHP-Tutorial Praktische PHP-Nutzung der Rekursion zum Lesen unbegrenzter Produktkategorien

Praktische PHP-Nutzung der Rekursion zum Lesen unbegrenzter Produktkategorien

Jul 29, 2016 am 09:12 AM
array Level limit parent

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>
Nach dem Login kopieren

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.
Praktische PHP-Nutzung der Rekursion zum Lesen unbegrenzter Produktkategorien

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

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.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Erklärung zur Verwendung von Take und Limit in Laravel Ausführliche Erklärung zur Verwendung von Take und Limit in Laravel Mar 10, 2024 pm 05:51 PM

„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.

Array mit der Array.Sort-Funktion in C# sortieren Array mit der Array.Sort-Funktion in C# sortieren Nov 18, 2023 am 10:37 AM

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

Wie greife ich in Python auf die Eigenschaften der übergeordneten Klasse zu? Wie greife ich in Python auf die Eigenschaften der übergeordneten Klasse zu? Aug 26, 2023 am 10:17 AM

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

So verwenden Sie die Funktion array_combine in PHP, um zwei Arrays zu einem assoziativen Array zu kombinieren So verwenden Sie die Funktion array_combine in PHP, um zwei Arrays zu einem assoziativen Array zu kombinieren Jun 26, 2023 pm 01:41 PM

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

Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Jun 27, 2023 pm 01:48 PM

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

Vergleich der Funktionen und Verwendung von Take und Limit in Laravel Vergleich der Funktionen und Verwendung von Take und Limit in Laravel Mar 09, 2024 pm 09:09 PM

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

Ein tiefer Einblick in die Unterschiede zwischen Take und Limit in Laravel Ein tiefer Einblick in die Unterschiede zwischen Take und Limit in Laravel Mar 10, 2024 pm 01:00 PM

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

So verwenden Sie die Limit- und Skip-Funktionen von Stream in Java für Stream-Vorgänge So verwenden Sie die Limit- und Skip-Funktionen von Stream in Java für Stream-Vorgänge Jun 26, 2023 pm 03:55 PM

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

See all articles