Вы можете хранить произвольные строки в элементах cookie, поэтому сериализованный массив должен работать. Пример:
// To store:
$ids = array(1, 2, 3, 4);
setcookie('ids', serialize($ids));
// To retrieve:
$serialized = $_COOKIE['ids'];
$ids = unserialize($serialized);
// sanity check: $ids needs to be an array.
assert(is_array($ids));
// Now let's check:
if (in_array(4, $ids)) {
// Yes, it's here.
}
Несколько предостережений:
- Файл cookie полностью находится в руках клиента, и значениям файлов cookie никогда не следует доверять. Относитесь к ним так же, как к параметрам строки запроса или данным POST.
- Файлы cookie предлагают очень ограниченное хранилище (стандарт IIRC дает вам 4096 байт для работы).
Имея это в виду, может быть, лучше вместо этого хранить массив в $_SESSION
- это даст вам практически неограниченное хранилище, и единственный способ для клиентского приложения возиться со значениями - через ваш код.