in.php
Codice PHP:
<?php
$arr 
unserialize(urldecode($_GET['ar']));
foreach(
$arr as $elemento):
echo 
$elemento."
"
;
endforeach;
?>
out.php
Codice PHP:
<?php
$ar 
= array(
test => 'lol',
baw  => 'mwe'
);
echo 
"<a href=\"in.php?ar=".urlencode(serialize($ar))."\">Clicca qui<A/>";
?>
Così dovresti ottenere quello che volevi, ma secondo me non hai le idee molto chiare: la $_GET contiene i parametri che passi sulla url con cui carichi la pagina in.php, per cui se non crei un link che punti a in.php con dentro dei parametri, nulla viene passato...

In ogni caso, tieni presente di ricordare che non è una buona idea passare sulla GET parametri sofisticati o cose che potrebbero essere sfruttate per hackerare il tuo sito: sulla get andrebbero passati solo codici, numerici o non, che vengano SEMPRE prima di tutto verificati per appartenere ad una precisa lista, e rifiutati se non vi appartengono.

In più, ho l'impressione che tu non abbia capito che usando la file_get_contents tu vai a leggere il contenuto di un file come se fosse una semplice stringa di testo, e NESSUN CODICE PHP DEL FILE CHE VAI A LEGGERE VIENE MAI ESEGUITO. Se vuoi che il codice dell'altro file venga eseguito, devi usare la include, che esegue il codice dell'altro file per poi riprendere con la riga successiva del file in cui è inserita la include stessa; in questo caso, però, tutte le variabili che avevi definito nelle righe prima della include sono AUTOMATICAMENTE disponibili nel file incluso, senza bisogno di fare nessun passaggio di dati di nessun genere.