Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP eine hierarchische Baumstruktur aus Eltern-Kind-Beziehungen erstellen?

Wie kann ich in PHP eine hierarchische Baumstruktur aus Eltern-Kind-Beziehungen erstellen?

Mary-Kate Olsen
Freigeben: 2024-12-14 11:41:11
Original
229 Leute haben es durchsucht

How Can I Build a Hierarchical Tree Structure in PHP from Parent-Child Relationships?

Erstellung hierarchischer Baumstrukturen aus Eltern-Kind-Beziehungen

Der Aufbau hierarchischer Baumstrukturen aus Eltern-Kind-Beziehungen ist eine häufige Aufgabe in der Programmierung. Um dies zu erreichen, kann ein rekursiver Ansatz verwendet werden, der die Daten effektiv in verschachtelten Einheiten organisiert.

In PHP erfordert die Konvertierung einer Reihe von Eltern-Kind-Paaren in einen hierarchischen Baum zwei Schlüsselfunktionen: Parsen und Drucken. Die Parsing-Funktion durchläuft systematisch die Kind-Eltern-Paare, um eine hierarchische Datenstruktur aufzubauen. Anschließend wandelt die Druckfunktion diese Struktur in eine Reihe verschachtelter ungeordneter HTML-Listen um, wobei jedes Listenelement ein untergeordnetes Element darstellt.

Betrachten Sie als Beispiel die folgenden Eltern-Kind-Paare:

Child : Parent
H : G
F : G
G : D
E : D
A : E
B : C
C : E
D : NULL
Nach dem Login kopieren

Um diese Daten zu analysieren, definieren wir die Funktion parseTree:

function parseTree($tree, $root = null) {
    $return = array();
    foreach($tree as $child => $parent) {
        if($parent == $root) {
            unset($tree[$child]);
            $return[] = array(
                'name' => $child,
                'children' => parseTree($tree, $child)
            );
        }
    }
    return empty($return) ? null : $return;
}
Nach dem Login kopieren

Als nächstes definieren wir die Funktion printTree um die analysierte Hierarchie in ungeordnete HTML-Listen umzuwandeln:

function printTree($tree) {
    if(!is_null($tree) && count($tree) > 0) {
        echo '<ul>';
        foreach($tree as $node) {
            echo '<li>'.$node['name'];
            printTree($node['children']);
            echo '</li>';
        }
        echo '</ul>';
    }
}
Nach dem Login kopieren

Durch die Kombination dieser beiden Funktionen können wir Kind-Eltern-Paare erfolgreich in hierarchische Baumstrukturen umwandeln.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP eine hierarchische Baumstruktur aus Eltern-Kind-Beziehungen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage