Я написал рекурсивную функцию для поиска родителей ребенка, родительский массив получает правильные данные со всеми родителями, но когда я возвращаю данные, только первый родитель возвращает
Это моя рекурсивная функция
public function getSubChild($parent,$parents)
{
echo 'exceuted1<br>';
array_push($parents,$parent);
$sql ="SELECT parent_id FROM vendor_services WHERE id='".$parent."'";
$qry = $this->org_db->query($sql);
$parents_data = $qry->row_array();
echo '-------------parents_data : <br>';
print_r($parents_data);
echo '-------------<br>';
echo '-------------parents : <br>';
print_r($parents);
echo '-------------<br>';
if(count($parents_data)>0 && $parents_data['parent_id'] >0)
{
//echo 'got in '.$parents_data['parent_id'];
$this->getSubChild($parents_data['parent_id'],$parents);
}
echo "came back to return <br>";
return $parents;
}
Это вывод, который я получаю
exceuted1
<br>-------------parents_data :
<br>Array
(
[parent_id] => 2
)
-------------
<br>-------------parents :
<br>Array
(
[0] => 3
)
-------------
<br>exceuted1
<br>-------------parents_data :
<br>Array
(
[parent_id] => 1
)
-------------
<br>-------------parents :
<br>Array
(
[0] => 3
[1] => 2
)
-------------
<br>exceuted1
<br>-------------parents_data :
<br>Array
(
[parent_id] =>
)
-------------
<br>-------------parents :
<br>Array
(
[0] => 3
[1] => 2
[2] => 1
)
-------------
<br>came back to return
<br>came back to return
<br>came back to return
<br>final returnArray
(
[0] => 3
)
Я хочу вернуть родительский массив, как этот
Array
(
[0] => 3
[1] => 2
[2] => 1
)