Есть функция которая отлично собирает дерево.
function comments_r($data) {
$tree = array();
foreach ($data as $id=>&$node) {
if (!$node['comment_parent_id']) {
$tree[$id] = &$node;
} else {
$data[$node['comment_parent_id']]['childs'][$id] = &$node;
}
}
return $tree;
}
Вот только она это делает бесконечно, как можно ее ограничить? Что б к примеру после 5 го коммента все его потомки и потомки потомков стали потомком 5 го потомка :))
пример входящего массива:
Array
(
[359] => Array
(
[comment_id] => 359
[comment_parent_id] => 0
[comment_text] => 1
[comment_name] => admin
[comment_date] => 15:07 12-02-2017
)
[360] => Array
(
[comment_id] => 360
[comment_parent_id] => 359
[comment_text] => 2
[comment_name] => admin
[comment_date] => 15:07 12-02-2017
)
[361] => Array
(
[comment_id] => 361
[comment_parent_id] => 360
[comment_text] => 3
[comment_name] => admin
[comment_date] => 15:07 12-02-2017
)
)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей