ich ein Array in PHP haben, die wie folgt aussieht:erstellen verschachtelte Liste von Multidimensional Array
array (
[0] => array (
[id] => 1
[title] => "Title 1"
[parent_id] => NULL
[depth] => 0
)
[1] => array (
[id] => 2
[title] => "Title 2"
[parent_id] => NULL
[depth] => 0
)
[2] => array (
[id] => 3
[title] => "Title 3"
[parent_id] => 2
[depth] => 1
)
[3] => array (
[id] => 4
[title] => "Title 4"
[parent_id] => 2
[depth] => 1
)
[4] => array (
[id] => 5
[title] => "Title 5"
[parent_id] => NULL
[depth] => 0
)
[5] => array (
[id] => 6
[title] => "Title 6"
[parent_id] => 4
[depth] => 2
)
)
Was will ich tun Iterierte über dieses Array und erstellen Sie eine verschachtelte <ol>
Liste von ihm. So sollte das Ergebnis wie folgt aussehen:
<ol>
<li>Title 1</li> // id = 1
<li>Title 2</li> // id = 2
<ol>
<li>Title 3</li> // id = 3 -> parent_id = 2
<li>Title 4</li> // id = 4 -> parent_id = 2
<ol>
<li>Title 6</li> // id = 6 -> parent_id = 4
</ol>
</ol>
<li>Title 5</li> // id = 5
</ol>
Ich habe versucht, einen Weg zu denken, wie ich dies getan zu bekommen. Aber bis jetzt ist jeder Versuch gescheitert ...
Jeder eine Idee, wie kann ich eine solche verschachtelte <ol>
Liste aus einem Array wie das erstellen?
Bitte beachten Sie, dass ich keine Kontrolle über die angegebenen Daten habe. Ich mache einfach einen Aufruf an eine API und es gibt json-Daten zurück, die ich in ein Array umwandle. Und das Array sieht genauso aus wie das, das ich beschrieben habe.
Auf der Oberfläche sieht es einfach aus, aber ich denke, dass Sie immer noch Informationen fehlen, um die beste Antwort für Ihre Situation zu erhalten. Erstens, wie hast du das Array bekommen? Ist es von einer Datenbank? Wäre es möglich, es anders zu speichern, oder stecken Sie so fest? Ist die Tiefe garantiert nicht (jetzt oder in Zukunft) mehr als 1 oder 2 oder werden Sie jemals eine unbestimmte Anzahl von Unterstufen planen? Wie oft werden die Kategorien hinzugefügt oder gelöscht? Ich würde vorschlagen, dass Sie http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ nachsehen, da ein verschachteltes Modell mehr sein kann, was Sie brauchen. – Mike