PHP Recursive Fonksiyon

0 Cevap php

Benim veritabanında ben parentId tarafından sipariş verileri döndürür hiyerarşik düz tablo var ASC objectid

Ben bu recursive fonksiyon düzgün çalışması için elde bir sorun biraz yaşıyorum. Ben ilk Ebeveyn> Çocuk> Çocuk olsun ama bundan sonra ben başka bir şey olsun.

Bu herhangi bir yardım büyük beğeni topluyor.

İşte benim test kodu:

$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);

Bu ben alıyorum çıktı:

Fullsize Link

alt text

0 Cevap