Оптимизация функции
function AddParamsToArray($id,$parent,$text)
{
return array('id' => $id, 'parent' => $parent, 'text' => $text);
}
function CreateJSON($rows)
{
if (!$rows) return "";
//asort($rows);
// create an index on id
$index = array();
foreach($rows as $row)
{
//$row['data'] = [];
$index[$row['id']] = $row;
}
// build the tree
foreach($index as $id => &$row)
{
if ($id === 0) continue;
$parent = $row['parent'];
$index[$parent]['item'][] = &$row;
}
unset($row);
// obtain root node
$index = $index[0]['item'][0];
$id=0;
return "{id:'".$id."', item:[n".json_encode($index)."]}n";
}
$rows = array();
array_push($rows,AddParamsToArray($NODE,$PARENT,$caption));