Codeigniter - 取消设置会话数据(在user_data数组中)

时间:2014-01-25 21:03:36

标签: arrays codeigniter session

所以我在会话中有一个'cart'数组,就像这个

Array
(
[session_id] => 4a5a5dca22728fb0a84364eeb405b601
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7;
[last_activity] => 1303142623
[cart] => Array( [1]=1;
                 [2]=3;
                )
)

我的问题,我想取消购物车数组中的一个ID ...但不是整个'购物车'数据

$this->session->unset_userdata($id); //$id as in [cart][$id]
//or even like this below
$tmp = $this->session->userdata('cart');          
$this->session->unset_userdata($tmp[$pid]);

我尝试了上述内容,但它没有做任何事情。救命啊!

PS:我通过uri传递$ id并且可以回复$ id就好了

=============================================== ===== 更新: 谢谢你的回复,但我以某种方式解决了我的问题。我这样做了

$tmp = $this->session->userdata('cart');          
unset($tmp[$pid]);
$this->session->set_userdata('cart',$tmp);

2 个答案:

答案 0 :(得分:1)

你可以试试这个,

$tmp = $this->session->userdata('cart');
unset($tmp[$id]);
$this->session->set_userdata('cart', $tmp);

答案 1 :(得分:0)

您可以取消设置为

$tmp = $this->session->userdata('cart');          
unset($tmp[$pid]);
$this->session->set_userdata(array("cart"=>$tmp));