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.
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; }
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], ];
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!