CodeIgniter设置multidimantional会话值

时间:2013-12-30 16:50:34

标签: php codeigniter

我想在Codeigniter会话数组中设置一个值,如:

$this->session->userdata['xxx']['yyy'] = $some_value;

但它没有用。另外,我试过了:

$this->session->sess_write();

但这对我来说都不起作用。有谁知道如何为这种会话分配值?

3 个答案:

答案 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);

希望这会有所帮助。