bershadskij
Новичок
Как построить дерево из массива
Помогите написать скрипт, который рекурсивно будет строить дерево из массива
В массиве поле id - ето уникальный идентфикатор, а поле sd - идентификатор, который указывает на родителя.
Что то типа етого:
где $nested - ето исходный массиы, $level = родитель
Я никак не разберусь с логикой
сам массив имеет вид
Помогите написать скрипт, который рекурсивно будет строить дерево из массива
В массиве поле id - ето уникальный идентфикатор, а поле sd - идентификатор, который указывает на родителя.
Что то типа етого:
PHP:
function tree($nested, $level=0) {
$result = array();
$item = array_shift($nested);
foreach($item as $v=>$k){
$item['tree'] = tree($nested, $k['sd']);
$result[] = $item;
$item = array_shift($nested);
} array_unshift($nested, $item);
return $result;
}
Я никак не разберусь с логикой
сам массив имеет вид
PHP:
Array (
[0] => Array
(
[id] => 1
[sd] => 0
[title] => Ветка 1
)
[1] => Array
(
[id] => 2
[sd] => 1
[title] => Ветка 1.1
)
[2] => Array
(
[id] => 3
[sd] => 2
[title] => Ветка 1.1.1
)
[3] => Array
(
[id] => 4
[sd] => 1
[title] => Ветка 1.2
)
[4] => Array
(
[id] => 5
[sd] => 3
[title] => Ветка 1.2.1
)
[5] => Array
(
[id] => 6
[sd] => 4
[title] => Ветка 1.2.1.1
)
)

