Te leistes ya lo referente a cookies de php.net?
 
<a href='ir.asp?http://www.php.net/manual/es/function.setcookie.php' target='_blank'>http://www.php.net/manual/es/function.se...</a> 
Y ahi mismo tienes un ejemplo de uso de arrays en una cookie: 
Código:
 setcookie( "cookie[three]", "cookiethree" );
setcookie( "cookie[two]", "cookietwo" );
setcookie( "cookie[one]", "cookieone" );
if ( isset( $cookie ) ) {
   while( list( $name, $value ) = each( $cookie ) ) {
	  echo "$name == $value<br>\n";
   }
}
  y si miras en los comentarios de los usuarios tieens estas funcioenes interesantes:  
Código:
 function store_array_in_cookie($cookiename, $array2store) { 
$tmpstring = serialize($array2store); 
setcookie($cookiename, $tmpstring, time()+3600*5, "/", ".fbt.eitn.wau.nl"); 
unset($tmpstring); 
} 
function get_array_from_cookie($cookiename) { 
$tmpstring = "global \$$cookiename"; 
eval($tmpstring); 
unset($tmpstring); 
if (isset(${$cookiename})) { 
$tmparray=unserialize(stripslashes(${$cookiename})); 
} else { 
$tmparray = array(); 
} 
return $tmparray; 
}
  Un saludo,