Php 删除$\u COOKIE中编码的JSON元素

Php 删除$\u COOKIE中编码的JSON元素,php,arrays,json,cookies,Php,Arrays,Json,Cookies,早上好!在下面的代码中,我做了一个编程逻辑来删除JSON中的一个元素,但它是在$\u COOKIE中编码的 结果(html): 数组([0]=>stdClass对象([id\u book]=>13[qtd\u book]=>1[vl\u book]=>57.6)[1]=>stdClass对象([id\u book]=>20[qtd\u book]=>1[vl\u book]=>105.5))1 -------------------------------------------------

早上好!在下面的代码中,我做了一个编程逻辑来删除JSON中的一个元素,但它是在$\u COOKIE中编码的

结果(html):
数组([0]=>stdClass对象([id\u book]=>13[qtd\u book]=>1[vl\u book]=>57.6)[1]=>stdClass对象([id\u book]=>20[qtd\u book]=>1[vl\u book]=>105.5))1
----------------------------------------------------------------------------------
数组([1]=>stdClass对象([id\u book]=>20[qtd\u book]=>1[vl\u book]=>105.5))

----------------------------------------------------------------------------------
最后一行应该是:

setcookie('desire',json_encode($desire),time()+604800);
编辑:但这一行

$desire=json\u解码(打印($desire))
没有多大意义,它根本不应该在那里
print\r
应用于以人类可读的形式显示值,如果没有第二个参数显式设置为
true
,其返回值就没有多大意义

编辑#2:完整的清理解决方案


最后一行应该是:

setcookie('desire',json_encode($desire),time()+604800);
编辑:但这一行

$desire=json\u解码(打印($desire))
没有多大意义,它根本不应该在那里
print\r
应用于以人类可读的形式显示值,如果没有第二个参数显式设置为
true
,其返回值就没有多大意义

编辑#2:完整的清理解决方案



最后一行生成此结果:
$\u COOKIE['desire']=“1
但此错误:
致命错误:未捕获错误:无法取消desire中的字符串偏移量。php:11堆栈跟踪:#0{main}在第1行的desire.php中抛出
,即使没有
json\u decode
中的print\r函数,或者甚至添加
true
作为
print\u r
参数,错误仍会继续。事实上,
json\u encode($desire)
等于:
{1:{id\u book:“18”,“qtd\u book:“1”,“vl book:”23.5“,”2:{id\u:“book:”17“,”qtd_-book:“1”,“vl_-book:“45.7”},3:{“id_-book:“22”,“qtd_-book:“1”,“vl_-book:“164.99”}
现在问题是最终结果,变量
$\u COOKIE['desire']
不能是
json_-encode($desire)
等于
“1$\u COOKIE['desire']=“1
,但这个错误:
致命错误:未捕获错误:无法取消desire中的字符串偏移量。php:11堆栈跟踪:#0{main}在第1行的desire.php中抛出
,即使没有
json\u decode
中的print\r函数,或者甚至添加
true
作为
print\u r
参数,错误仍会继续。事实上,
json\u encode($desire)
等于:
{1:{id\u book:“18”,“qtd\u book:“1”,“vl book:”23.5“,”2:{id\u:“book:”17“,”qtd_-book:“1”,“vl_-book:“45.7”},3:{“id_-book:“22”,“qtd_-book:“1”,“vl_-book:“164.99”}
现在问题是最终结果,变量
$\u COOKIE['desire']
不能是
json_-encode($desire)
等于
“1