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

So konvertieren Sie ein PHP-Array in eine Baumstruktur

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌Original
2023-06-07 09:29:031181Durchsuche

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;
}

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!

Stellungnahme:
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