Es posible que tengamos la necesidad de pasar un arreglo completo de un archivo a otro de PHP y resulta muy incómodo pasar cada uno de sus componentes. Para esto, lo que haremos será serializar el arreglo con la función serialize de PHP, y la cadena resultante la codificaremos con urlencode para ser pasada a otro archivo. En el otro archivo solo tendremos que decodificar la cadena con la función urldecode y deserializarla con unserialize.
Archivo emisor:
arr['ind'] = 4;
$val = urlencode(serialize(arr));
header('Location: recptor.php?s=$var');
Archivo receptor:
$s = unserialize(urldecode(stripslashes($_GET['s'])));
echo $s['ind'];
Así el echo de la última linea nos mostrará "4".