1,关于json_decode 和 json_encode,
将数组json_encode 后存入cookie ,
取出的时候使用 json_decode 转换为对象
使用一次 json_decode  只能得到字符串
试了下 json_decode (json_decode ($cook1)) 居然得到对象了,
神马情况 ?2,zend studio 9 中 如何添加 自定义的标记 让编辑器不警告提示,注:请勿回答关闭警告提示,偶想明白怎么添加自定义标记让编辑器不提示 未知标记

解决方案 »

  1.   

    1、经测试不存在你说的问题$a = array('a' => 123, 'abc');
    setcookie('test', json_encode($a));
    echo '<a href=?>test</a>';if(isset($_COOKIE['test']))
      print_r(json_decode($_COOKIE['test']));
      

  2.   

    打包前是数组的话   你json_decode 返回值是obj 第二个参数设为true 返回值是array
    打包前是字符串的话 你json_decode 返回值就是string 
    你第二次json_decode时 检控一下这个string的值 如果是json格式 返回值是obj  是普通string的话 返回值是string
      

  3.   


    $a = array (
    'a' => '中文',
    'c' => 'fc'
    );
    cookie( 'testcook', json_encode ( $a ) ); if (isset ( $_COOKIE ['testcook'] )) {
    $testcook = $_COOKIE ['testcook'];
    $testcook = json_decode(json_decode ( $testcook ));
    var_dump ( $testcook );
    }用的是thinkphp 框架,确定是框架定义的cookie的问题,擦