Heim > Backend-Entwicklung > PHP-Problem > So konvertieren Sie ein PHP-Array in eine Baumstruktur

So konvertieren Sie ein PHP-Array in eine Baumstruktur

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2023-06-07 09:29:03
Original
1283 Leute haben es durchsucht

So konvertieren Sie ein PHP-Array in eine Baumstruktur: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Erstellen Sie eine Funktion mit der Syntax „function buildTree(array $elements, $parentId = 0)“. Parameter 1 ist Für das zu konvertierende Array ist Parameter 2 der angegebene Wurzelknoten. 3. Definieren Sie das leere Array $branch in der Funktion, um die Baumstruktur zu speichern und zu durchlaufen. 4. Fügen Sie nach dem Durchlaufen die geänderten Elemente zum Array $branch hinzu return Verwenden Sie einfach das Baumstruktur-Array $branch.

So konvertieren Sie ein PHP-Array in eine Baumstruktur

Das Betriebssystem für dieses Tutorial: Windows 10-System, PHP 8.1.3-Version, Dell G3-Computer.

Konvertieren Sie das PHP-Array in eine Baumstruktur, was durch eine rekursive Methode erreicht werden kann.

Das Folgende ist ein Beispiel einer PHP-Funktion:

function buildTree(array $elements, $parentId = 0) {
    $branch = array();
    foreach ($elements as $element) {
        if ($element['parent_id'] == $parentId) {
            $children = buildTree($elements, $element['id']);
            if ($children) {
                $element['children'] = $children;
            }
            $branch[] = $element;
        }
    }
    return $branch;
}
Nach dem Login kopieren

In dieser Funktion ist der Parameter $elements das zu konvertierende Array und $parentId der angegebene Wurzelknoten (Standard ist 0). Die Funktion definiert zunächst ein leeres Array mit dem Namen $branch zum Speichern und Durchlaufen der Baumstruktur.

In jeder Schleife prüft die Funktion, ob das aktuelle Element die angegebene übergeordnete ID hat und wenn ja, ob es ein untergeordneter Knoten des aktuellen Knotens ist. Anschließend ruft es seine eigene buildTree()-Funktion auf, um untergeordnete Knoten hinzuzufügen, und weist die untergeordneten Knoten der Variablen $children zu. Die Funktion ermittelt weiterhin, ob $children leer ist, und weist andernfalls den untergeordneten Knoten dem Schlüssel „children“ des aktuellen Elements zu. Schließlich fügt die Funktion die geänderten Elemente dem $branch-Array hinzu.

Wenn alle Elemente verarbeitet sind, gibt die Funktion das Baumstruktur-Array $branch zurück.

Angenommen, wir haben die folgenden Daten:

$elements = [
    ['id' => 1, 'name' => 'Parent 1', 'parent_id' => 0],
    ['id' => 2, 'name' => 'Child 1', 'parent_id' => 1],
    ['id' => 3, 'name' => 'Grandchild 1', 'parent_id' => 2],
    ['id' => 4, 'name' => 'Grandchild 2', 'parent_id' => 2],
    ['id' => 5, 'name' => 'Parent 2', 'parent_id' => 0],
];
Nach dem Login kopieren

Diese Funktion kann aufgerufen werden, um eine Baumstruktur zu generieren.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein PHP-Array in eine Baumstruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage