У меня есть некоторые категории, которые мне нужно преобразовать в вложенный массив (дерево). Я использую материализованный путь для создания дерева, и я работаю на PHP. Вот print_r того, что у меня есть:Преобразование плоского массива в вложенный массив с использованием материализованного пути
Array
(
[0] => Array
(
[_id] => mac
[name] => Mac
[path] => null
)
[1] => Array
(
[_id] => ipod
[name] => iPod
[path] => null
)
[2] => Array
(
[_id] => imac
[name] => iMac
[path] => ,mac,
)
[3] => Array
(
[_id] => imac2001
[name] => iMac 2001
[path] => ,mac,imac,
)
[4] => Array
(
[_id] => imac2002
[name] => iMac 2002
[path] => ,mac,imac,
)
[5] => Array
(
[_id] => imac2003
[name] => iMac 2003
[path] => ,mac,imac,
)
)
Я попытался сделать это, но я заблудиться в целом идея рекурсивной функции.
UPDATE:
Вот что я хотел бы иметь в конечном счете:
Array
(
[0] => Array
(
[_id] => mac
[name] => Mac
[path] => null
[children] =>
[0] => Array
(
[_id] => imac
[name] => iMac
[path] => ,mac,
[children] =>
[0] => Array
(
[_id] => imac2001
[name] => iMac 2001
[path] => ,mac,imac,
)
[1] => Array
(
[_id] => imac2002
[name] => iMac 2002
[path] => ,mac,imac,
)
[2] => Array
(
[_id] => imac2003
[name] => iMac 2003
[path] => ,mac,imac,
)
)
)
[1] => Array
(
[_id] => ipod
[name] => iPod
[path] => null
)
)
Я хотел бы показать вам, что я уже закодированы, но это далеко от не работает так ничего хорошего, чтобы увидеть в моем мнение.
Итак, мы видим, что у вас есть. Но вопросы: что вам нужно ** и что вы ** сделали **? –
Хорошо, я обновил свой пост. –
Должен ли он быть массивом или же он может быть объектом? Кроме того, массив всегда в правильном порядке? Итак, пути следуют друг за другом? –