http://se2.php.net/manual/it/function.print-r.php

print_r lo usi in fase di debug, è utile per avere subito un formato leggibile della tua variabile. Una volta che usi un for, un foreach eccetera per ciclare un array allora usi echo o print.

Per il resto non saprei, ad esempio tu volevi i nominativi unici ma se ad esempio ci fossero due Giorgio ma con età diverse, allora sarebbero due record distinti e l'array_unique così non andrebbe più bene.

Anche l'espressione regolare come la stai impostando tu credo sia sbagliata, bisognerebbe conoscere la struttura completa di ogni nodo per farlo tutto in un'unica preg e non usandone una per ogni attributo.
In questo caso però la cosa si complica e non so se sono in grado di aiutarti.
Spero di non aver detto sciocchezze.