cookies and arrays in php

Date: 20th October 2007 at 1:27 am | Filed under: development, scripts | Author: Sam Burdge

How to store and retreive arrays using cookies with php:

The first step is to turn the array into a string with each array value seperated by a delimiter. I usually choose an unusual delimiter character such as a vertical bar, as the array values are more likely to contain characters such as comma or slashes. Example:
Read on…

4 Responses to “cookies and arrays in php”

  • Comment by c-received
    Date: November 6th, 2007 at 9:54 pm

    Blend your own recipe….

    $a = array(’bg’=>’red’,'tx’=>’blue’,'lk’=>’green’);
    print_r($a);

    $b = implode(”|”,array(’red’,'blue’,'green’));
    print_r($b);

    $c = explode(”|”,$b);
    print_r($c);

  • Comment by kuberan marimuthu
    Date: September 20th, 2009 at 7:52 am

    this is an expensive solution. PHP cookies, itself supports storing arrays check this link http://www.developertutorials.com/tutorials/php/articlename-050526/page5.html

  • Comment by Steve
    Date: November 1st, 2010 at 8:58 am

    That is soooo inefficient. Use the serialize() function thus:
    setcookie(”myarray”, serialize($myArray), time()+3600);
    and to get data out:
    if(isset($_COOKIE['myarray'])) $myArray=unserialize($_COOKIE['myarray']);

  • Comment by Filip Gorczynski
    Date: November 24th, 2010 at 12:58 pm

    So, what do You think about sth like this:
    <?php
    if(isset($_COOKIE['c'])) {
    $a = unserialize($_COOKIE['c']);
    $a[] = time();
    setcookie(’c', serialize($a), time() + 1000);
    } else {
    setcookie(’c', serialize(array(time())), time() + 1000);
    }

Leave a Comment