Ik heb een multidimensionale array. De opbouw van elke array group is: id, title, group_id. Elke groep kan weer een nieuwe groep hebben. Ik wil de volgende output krijgen:
Elke keer dat er een group aangeroepen word, word de parent weer erbij gezet. De key zal altijd het ID van de group zijn. Kan iemand mij hierbij helpen?
Iets wat ik niet begrijp: blijkbaar is de volgorde van belang. Klopt het bovenstaande voorbeeld? Ik zou namelijk verwachten dat de button (id 3) de tweede group is van form (id 1) want de parent van button is de form, alleen staat deze een niveau hoger in de datastructuur in bovenstaand voorbeeld.
Als je niet uit kunt gaan van de kloppendheid van deze structuur hoe kun je dan garanderen dat een parent bestaat voordat je daar subelementen van probeert te maken?
Of is deze boom stapsgewijs gecreƫerd ofzo?
Wat ik zou doen is hier eerst eens een fatsoenlijke boomstructuur van maken, maar dan ben je het werk waarmee je bovenstaande dataset genereert nog eens dunnetjes over aan het doen...
Heb je invloed op de samenstelling van het bovenstaande voorbeeld? Of wordt deze aangeleverd en kun je hier geen invloed op uitoefenen?
Om het visueel te verwoorden, wat jij aanlevert is dit (verkeerde nesting):
root
form
label
general
button
create
Wat ik eigenlijk zou verwachten is dit (kloppende nesting):
Dat snap ik, maar dat is niet hoe de datastructuur van Donny in elkaar zit. De nesting van de array-elementen volgt niet de structuur van onderlinge relaties die de elementen hebben, dit is incongruent. Het is nogal onlogisch dat je zo je eigen datastructuur in elkaar steekt.
Indien je dataset logisch in elkaar zit is het ook een stuk makkelijker om hier informatie uit te halen. Ook hoef je dan niet te controleren of je array-structuur de parent-child relaties volgt - je zorgt er gewoon voor dat deze twee overeenstemmen.