Salve a tutti

Nel mio database ho una tabella per la gestione delle categorie basata sul Adjacency List Model (campi standard: id, name, parent_id).

Per ottenere una visualizzazione ad albero della gerarchia ho scritto una funzione ricorsiva per ottenere un array con tutte le categorie e relativo livello di indentazione:

codice:
	function tree ($pid, $level, &$pippo) {
		$result = $this->get_subcategories($pid);
		foreach ($result AS $row) {
			$pippo[] = array('id' => $row->id, 'name' => $row->name, 'level' => $level);
			$this->tree($row->id, $level+1, $pippo);
		}
	}
Purtroppo non sono riuscito a fare in modo che l'output venga restituito da un result. Attualmente passo, alla chiamata della funzione, un array vuoto come terzo argomento, e questo viene popolato ad ogni iterazione.

C'è un modo per far si che possa chiamare la funzione con

codice:
tree('',0);
Grazie a tutti!