Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in PHP eine hierarchische Baumstruktur aus Eltern-Kind-Beziehungen erstellen?
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
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; }
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>'; } }
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!