Rekursive Funktion zum Konstruieren eines mehrdimensionalen Arrays aus Datenbankergebnissen
Problem:
Sie suchen ein rekursive Funktion, die ein Array von Seiten und Kategorien aus einem abgeflachten Datenbankergebnis in ein verschachteltes Array mit strukturierter Hierarchie umwandeln kann Beziehungen.
Lösung:
Die bereitgestellte Lösung bietet einen unkomplizierten und generischen Ansatz:
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; }
Erklärung:
Der Algorithmus funktioniert wie folgt folgt:
Erste Ausführung (ParentId = 0):
Rekursive Ausführung (ParentId != 0):
Aufbau der Hierarchie:
Rückgabeergebnis:
Durch die Anwendung dieser Funktion auf Ihr Datenbankergebnis erhalten Sie ein organisiertes Array mit granularen hierarchischen Beziehungen, wie durch Ihre gewünschte Ausgabe veranschaulicht. Dieser Ansatz ist vielseitig und kann sowohl auf Seiten als auch auf Kategorien angewendet werden.
Das obige ist der detaillierte Inhalt vonWie erstellt man rekursiv ein mehrdimensionales Array aus einem flachen Datenbankergebnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!