Benim DB bir ebeveynin tüm çocukların kimlikleri alır bir işlevi var. Ben id 7 baktım Yani, bu 5, 6 ve 10 ile bir dizi döndürebilir. Daha sonra ne yapmak istiyorum, özyinelemeli çocukların nihai derinliği, böylece bu döndürülen kimlikleri çocukları bulmak ve.
Bunu yapmak için bir fonksiyon yazmak için çalıştık, ama ben özyineleme hakkında karıştı alıyorum.
function getChildren($parent_id) {
$tree = Array();
$tree_string;
if (!empty($parent_id)) {
// getOneLevel() returns a one-dimentional array of child ids
$tree = $this->getOneLevel($parent_id);
foreach ($tree as $key => $val) {
$ids = $this->getChildren($val);
array_push($tree, $ids);
//$tree[] = $this->getChildren($val);
$tree_string .= implode(',', $tree);
}
return $tree_string;
} else {
return $tree;
}
}//end getChildren()
Fonksiyonu çalıştırıldıktan sonra, bunu tespit edilen tüm alt kimlikleri bir tek-boyutlu bir dizi dönmek istiyorum.