te lo sconsiglio grandemente

uccideresti tutto

ti conviene fare una cosa del tipo

codice:
$elenco_nodi = array(array($parent_primo_nodo, $primo_nodo));
while(list(, $nodo_corrente) = each($elenco_nodi))
{
  // fai quello che devi fare col nodo corrente
  // e se devi percorrere altri nodi li inserisci
  // nella lista
  //
  // Per acquisire il nodo vero e proprio fai 
  // $nodo_corrente[1] per leggere il parent $nodo_corrente[0]
}
se ti serve aggiungere altre informazioni le aggiungi a quest'elenco