The easiest is to serialize it and then encode it.
<?php
$a = array('x' => '"', '&' => 3);
$a = rawurlencode(serialize($a));
echo '<a href="./getarray.php?a=' . $a . '">Pass array</a>';
?>
The receiving getarray.php page:
<?php
header('Content-Type: text/plain');
$a = unserialize($_GET['a']);
print_r($a);
?>
The header is there only to avoid HTML parsing by the browser in the example. You will not need it in a real program.