在我的数据库中,我有一个分层的平面表,它返回由ParentID,ObjectID asc
排序的数据我在使这个递归函数正常工作时遇到了一些问题。我得到了第一个Parent> Child> Child,但之后我什么也没得到。
非常感谢任何帮助。
这是我的测试代码:
$objectArr = array();
$objectData = DAOFactory::getTemplateObjectsDAO()->queryByTemplateID(1);
for($i = 0; $i < count($objectData); $i++)
{
if(empty($objectData[$i]->parentID))
{
echo $objectData[$i]->objectID;
$objectArr[$i] = $objectData[$i];
$objectArr[$i]->children = array();
$objectArr[$i]->children = getChildren($objectData[$i]->objectID, $objectData);
}
}
function getChildren($objectID, $data)
{
$childArr = array();
foreach($data as $object)
{
if($object->parentID == $objectID)
{
$childArr = $object;
$childArr->children = array();
$childArr->children = getChildren($object->objectID, $data);
}
}
return $childArr;
}
new dBug($objectData);
这是我得到的输出:
答案 0 :(得分:0)
以下是我的数据的一小部分:
ObjectID ParentID
1
3 1
4 3
10 3
11 4
12 4
16 7
15 11