我的cookie是多维数组,格式像下面,
Array
(
[Invoice_amount] => Array
(
[1271986299] => Array
(
[1271986332] => 7
)
)
[CustomsPrice] => Array
(
[1271986299] => Array
(
[1271986332] => 7
)
)
[CustomsAmount] => Array
(
[1271986299] => Array
(
[1271986332] => 7
)
)
[kname] => Array
(
[1271986350] => 1271986332
)
[Detail_Name] => Array
(
[1271986299] => Array
(
[1271986350] => 66u5t
)
)
[Volume] => Array
(
[1271986299] => Array
(
[1271986350] => ty
)
)
[Detail_number] => Array
(
[1271986299] => Array
(
[1271986350] => 67
)
)//有十几个数组这是我写的函数,,,为什么无法删除呢???//删除cookie多维数组
function del_cookie($id)
{
foreach($_COOKIE[$id] as $key=>$t)
{
if (is_array($t))
{
del_cookie($key);
}else
{
$_COOKIE[$id][$key]="";//这里无论是用setookie("$id[$key][$k]"," ",time()-6000); 都是有错 }
}
}
Array
(
[Invoice_amount] => Array
(
[1271986299] => Array
(
[1271986332] => 7
)
)
[CustomsPrice] => Array
(
[1271986299] => Array
(
[1271986332] => 7
)
)
[CustomsAmount] => Array
(
[1271986299] => Array
(
[1271986332] => 7
)
)
[kname] => Array
(
[1271986350] => 1271986332
)
[Detail_Name] => Array
(
[1271986299] => Array
(
[1271986350] => 66u5t
)
)
[Volume] => Array
(
[1271986299] => Array
(
[1271986350] => ty
)
)
[Detail_number] => Array
(
[1271986299] => Array
(
[1271986350] => 67
)
)//有十几个数组这是我写的函数,,,为什么无法删除呢???//删除cookie多维数组
function del_cookie($id)
{
foreach($_COOKIE[$id] as $key=>$t)
{
if (is_array($t))
{
del_cookie($key);
}else
{
$_COOKIE[$id][$key]="";//这里无论是用setookie("$id[$key][$k]"," ",time()-6000); 都是有错 }
}
}
{
$_COOKIE[$id][$key]="";//这里无论是用setookie("$id[$key][$k]"," ",time()-6000); 都是有错 }
注释的方法没有错 关键是else这地方的写法有问题 应该是$_COOKIE[$t][$key]=""; 没有测试 楼主试试
方法1 setcookie($id[$key], "", time() - 3600);
方法2 setcookie($id[$key], "");
方法3 setcookie($id[$key], NULL);楼主试试看
Array
(
[Invoice_amount] => Array
(
[1271986299] => Array
(
[1271986332] => 7
)
)
...那么你定义 cookie 变量时是这样写的
setcookie('Invoice_amount[1271986299][1271986332]', 7);删除cookie多维数组,实际上就是记录各维的键对于你的这种情况可写作
function del_cookie($id) {
$r = $id;
$t = $_COOKIE[$id];
while(is_array($t)) {
$r .= '['.key($t).']';
$t = current($t);
}
setcookie($r, '');
}