Niestety, korzysta ona z 2 zmiennych globalnych (poniżej) $n i tablicy wyników.
Czy da się te zmienne jakoś wsadzić w zagnieżdżoną funkcję, żeby uniknąć korzystania z globali?
//gets and sorts by nesting function get_categories($table, $id,$level,$user_id){ $query=$this->db->query("SELECT * FROM ".$table." WHERE user_id=".$user_id." and parent_id=".$id); foreach ($query->result_array() as $row) { $n++; //$results_array[$n][$level]=$row["name"]; $results_array[$table][$n]["name"]=$row["name"]; $results_array[$table][$n]["id"]=$row["id"]; $results_array[$table][$n]["parent"]=$row["parent_id"]; $results_array[$table][$n]["level"]=$level; $this->get_categories($table,$row["id"],$level+1,$user_id); } return $results_array; }