배열<->쿠키

function array2cookie($arr,$cname,$ctime=0,$cpath="/",$cdomain="")
{
    //$_arr = arrayWalk($arr,"urlencode");
    $_arr = serialize($arr);
    setcookie("$cname",$_arr,$ctime,"$cpath",$cdomain);
    unset($_arr);
}

function arrayWalk($arr,$func)
{
    switch(!is_array($arr))
    {
        case true:
            return $arr;
            break;
    }
    foreach($arr as $key=>$val)
    {
        switch(is_array($val))
        {
            case true:
                $arr[$key] = arrayWalk($val,$func);
                break;
            default :
                $_val = "\$arr[$key] = $func(\"$val\");";
                eval($_val);
                break;
        }
    }
    return $arr;
}
function cookie2array($cname)
{
    $arr = unserialize(stripslashes($_COOKIE["$cname"]));
    $arr = arrayWalk($arr,"urldecode");
    return $arr;
}