private function find_children ($parent_id, $children, &$result)
{
foreach ($children as $c)
{
if ($c->parent_comment_id == $parent_id)
{
$result[] = $c;
$this->find_children($c->id, $children, $result);
}
}
return;
}
Yukarıdaki fonksiyon bir başlangıç ebeveyn kimliği almak ve ardışık numune için aşağıya bakın (her düğümün ebeveyn var sonra doğrudan gelir böylece onları sıralama (benzersiz bir kimliği ve bir üst kimliği ile gerçekten sadece bir nesne) çocuk düğümler bir dizi geçmesi gerekiyordu veri).
Ama nedense, fonksiyon beklediğim gibi çalışmayan. Ben test için aşağıdaki verileri var.
id: 1 pid: 0 (the initial parent which is not in the children array passed to func. problem?)
id: 2 pid: 1
id: 3 pid: 2
id: 4 pid: 1
id: 5 pid: 3
id: 6 pid: 5
id: 7 pid: 4
id: 8 pid: 3
and want the following array returned: 1, 4, 7, 2, 3, 8, 5, 6
But instead, I get: 1, 2, 3, 5, 6
hangi onlar doğru sırayla yaparken, birkaç eksik.
Ben yıllardır özyineleme yapmak ihtiyacı vardı, bu yüzden büyük olasılıkla ben belirgin bir şey eksik, kendime o kadar belirgin olmasa da. Değil
Durumda herkes merak ediyor, ya da bu konularda, ben q ve her yazı birden çok cevap olabilir bir yorum sistemi oluşturmaya çalışıyorum.
Böylece:
initial post
-reply to initial post #1
--reply to reply
-reply to initial post #2
-- reply to above
--- reply to above
--reply to #2