2

我想在codeigniter会话中传递数组并想在另一个函数中检索它下面是我将数组传递给会话的代码

$deliveryData = array(
                    'User_ID' => $this->input->post('User_ID'),
                    'Order_dArea' => $this->input->post('Order_dArea'),
                    'Order_dAddress' => $this->input->post('Order_dAddress'),
                    'Order_PMethod' => $this->input->post('payment_mode'),
                    'Order_dMdate' => $Order_modifieddate
                    );

            $this->session->set_userdata('deliverdata', $deliveryData);

我以这种方式检索会话

$getDeliveryData = $this->session->all_userdata('deliverdata');

我得到了这个输出

array(12) { ["session_id"]=> string(32) "d369b835203b7da7f9c27e93e6444bd2" ["ip_address"]=> string(9) "127.0.0.1" ["user_agent"]=> string(65) "Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0" ["last_activity"]=> int(1372851183) ["user_data"]=> string(0) "" ["cartreturn"]=> string(1) "1" ["username"]=> string(5) "admin" ["is_loggedin"]=> int(1) ["login"]=> string(5) "aqeel" ["password"]=> string(10) "ictbeam321" ["cart_contents"]=> array(4) { ["d3d9446802a44259755d38e6d163e820"]=> array(6) { ["rowid"]=> string(32) "d3d9446802a44259755d38e6d163e820" ["id"]=> string(2) "10" ["qty"]=> string(1) "1" ["price"]=> string(4) "1200" ["name"]=> string(11) "soup item 1" ["subtotal"]=> int(1200) } ["c51ce410c124a10e0db5e4b97fc2af39"]=> array(6) { ["rowid"]=> string(32) "c51ce410c124a10e0db5e4b97fc2af39" ["id"]=> string(2) "13" ["qty"]=> string(1) "1" ["price"]=> string(4) "1400" ["name"]=> string(11) "soup item 2" ["subtotal"]=> int(1400) } ["total_items"]=> int(2) ["cart_total"]=> int(2600) } ["deliveryfee"]=> int(182) } 

现在我想获取原始数组值以便我可以使用它

4

3 回答 3

14

尝试这个:

<?php
    $deliveryData = array(
                'User_ID' => $this->input->post('User_ID'),
                'Order_dArea' => $this->input->post('Order_dArea'),
                'Order_dAddress' => $this->input->post('Order_dAddress'),
                'Order_PMethod' => $this->input->post('payment_mode'),
                'Order_dMdate' => $Order_modifieddate
                );
    $this->session->set_userdata('deliverdata', $deliveryData);         #to set the session with the above array

    ### for retrieving the session values ###
    $deliveryData   = $this->session->userdata('deliverdata');          #will return the whole array

    ### for retrieving any single element from the session ###
    $userid         = $this->session->userdata['deliverdata']['User_ID'];
?>
于 2013-07-04T14:17:12.423 回答
0

您正在获取所有会话数据,而您只想要其中的一部分。而不是做

$getDeliveryData = $this->session->all_userdata('deliverdata');

我想你只需要做

$getDeliveryData = $this->session->userdata('deliverdata');
于 2013-07-03T11:54:40.367 回答
-1
//first page
$menu_records=array();
$this->session->set_userdata('logged_in', $menu_records);

//second page
var_dump($this->session->userdata['logged_in']);
于 2016-12-27T11:41:30.507 回答