Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储在cookie中的JSON返回不可解码的_Php_Arrays_Json_Wordpress - Fatal编程技术网

Php 存储在cookie中的JSON返回不可解码的

Php 存储在cookie中的JSON返回不可解码的,php,arrays,json,wordpress,Php,Arrays,Json,Wordpress,我的wordpress站点正在cookie中存储一些有用的JSON。当我检索并解码它时,它返回NULL。我看过其他的帖子,他们似乎认为这是UTF-8的问题。我想我不能因为wordpress而改变这一点。有没有比字符串替换额外的引号/反斜杠等更好的方法来解决这个问题 $ckData = array("initialTime" => $initialTime,"cpCode" => $cpData[0], "cpID" =>cpData[1],"cpExpiry" => $

我的wordpress站点正在cookie中存储一些有用的JSON。当我检索并解码它时,它返回NULL。我看过其他的帖子,他们似乎认为这是UTF-8的问题。我想我不能因为wordpress而改变这一点。有没有比字符串替换额外的引号/反斜杠等更好的方法来解决这个问题

 $ckData = array("initialTime" => $initialTime,"cpCode" => $cpData[0], "cpID" =>cpData[1],"cpExpiry" => $cpExpiry);
 $ckDataJSON = json_encode($ckData, JSON_UNESCAPED_SLASHES);
setcookie( '_thecookie', $ckDataJSON, $ckExpiry, '/', 'mysitexyz.com', true, false);
它从cookie返回以下内容: 字符串(68)“{\'initialTime\':1524240724,\'cpCode\':null,\'cpExpiry\':1524241624}”


当通过json_decode返回NULL时,您的服务器似乎运行的是5.4.0之前的旧版本的PHP,如果启用,则应升级

您需要去掉有效JSON的斜杠:

$result = json_decode(stripslashes($cookie));

你如何对其进行编码并将其放入cookie中?您可以向代码展示如何在会话中保存json@AbraCadaver添加了您询问的关于
echo get_magic_quotes_gpc()的信息
如果启用,则禁用它,或者只使用所述的
stripslashes
。@Abracadver一旦我使用stripslashes,它的解码就很好了。添加作为答案,我将选择它!谢谢