我想在Codeigniter会话数组中设置一个值,如:
$this->session->userdata['xxx']['yyy'] = $some_value;
但它没有用。另外,我试过了:
$this->session->sess_write();
但这对我来说都不起作用。有谁知道如何为这种会话分配值?
答案 0 :(得分:0)
您可以设置多维数组,如下所示。
$this->session->set_userdata(array("index_1"=>array("val1","val2","val3")));
然后你可以使用
$sess_data = $this->session->userdata("index_1");
echo $sess_data[0];
echo $sess_data[1];
echo $sess_data[2];
答案 1 :(得分:0)
您可以使用此示例设置多维数组。
$row => array(
'basket_id'=>'1',
'order_id'=>'1',
'cus_id'=>$cusid,
'product_id'=>$pro_id,
'bas_quantity'=>1
)
$cart = array($row);
$this->session->set_userdata('cart',$cart);
答案 2 :(得分:0)
您不能在codeititer会话中直接取消设置多维数组的特定值。您必须将所有会话值都设为变量。取消设置特定值,然后再次在会话中设置变量,如下所示:
$items_session = $this->session->userdata('item_names');
unset($items_session[$key][$app_no]);
$this->session->set_userdata('item_names',$items_session);
希望这会有所帮助。