我的产品id以数组形式以'pid'存储在会话中。现在,我想删除它的一个值这个值来自$id变量。如何删除其中一个值?
我试着像下面这样取消设置,但它不起作用。
$this->session->unset_userdata('pid', $id);
//first get whole array in session sored as pid key
$ses_array = $this->session->userdata('pid');
//remove value you want to delete means $id
if(($key = array_search($id, $ses_array)) !== false) {
unset($ses_array[$key]);
}
//again set this array to session
$this->session->set_userdata('pid',$ses_array)
print_r($this->session->userdata('pid'));
CI session unset_userdata()
方法不支持多级数组中的未设置值。
PS:可以访问Session
类userdata
变量,默认为public
试试这个
$this->session->set_userdata(array('pid' => array(1,2,3,4,5,6)));
unset($this->session->userdata['pid'][4]); //your id key ['pid'][$id]
print_r($this->session->all_userdata());