Доброе утро, учитывая приведенную ниже структуру данных (в формате JSON для удобства чтения)
[
{
"parent": "root",
"active": "1",
"label": "Index",
"route": "/",
"children": [
{
"parent": "/",
"active": "1",
"label": "Products",
"route": "/products",
"children": [
{
"parent": "/products",
"active": "0",
"label": "Test",
"route": "/test"
}
]
}
]
},
{
"parent": "root",
"active": "1",
"label": "404",
"route": "/404"
},
{
"parent": "root",
"active": "1",
"label": "Login",
"route": "/login"
}
]
У меня возникли серьезные проблемы с возвратом из функции следующей структуры:
[
{
"parent": "root",
"active": "1",
"label": "Index",
"route": "/"
},
{
"parent": "/products",
"active": "0",
"label": "Test",
"route": "/test"
},
{
"parent": "/",
"active": "1",
"label": "Products",
"route": "/products"
},
{
"parent": "root",
"active": "1",
"label": "404",
"route": "/404"
},
{
"parent": "root",
"active": "1",
"label": "Login",
"route": "/login"
}
]
По сути, я хочу выполнить рекурсию по всем дочерним элементам и заполнить новый массив каждым родителем и дочерним элементом во вложенных массивах, я пробовал array_merge, RecursiveIteratorIterator, itterator_to_array, array_map, но он всегда не застревает в рекурсии. Мне удалось это сделать, когда дети были только на один уровень в глубину, а два или более просто ломаются.
Пожалуйста помоги!