在会话CodeIgniter中访问数组变量

时间:2014-07-03 02:32:38

标签: php codeigniter session

我有一个像这样的购物车的会话变量

Array
(
    [session_id] => fe70285240b5525f48c5ab2e3459c017
    [ip_address] => ::1
    [user_agent] => Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0
    [last_activity] => 1404403254
    [user_data] => 
    [cart_contents] => Array
        (
            [66eeaa0e65f3bf68db770c4c1b29891e] => Array
                (
                    [rowid] => 66eeaa0e65f3bf68db770c4c1b29891e
                    [id] => SP004
                    [qty] => 10
                    [price] => 1500
                    [name] => Vegi Pizza Big
                    [image] => pizza-buena.jpg
                    [subtotal] => 15000
                )

            [total_items] => 10
            [cart_total] => 15000
        )

)

有人可以帮助我访问此会话中的[cart_total]变量。我尝试过这样的事情

echo $this->session->all_userdata($session_data['cart_total']);

但它给我一个错误未定义索引:cart_total

我也试过了foreach

  foreach ($session_data as $row)
        {
            $info = array(
                'user_name' => $row['user_name'],
                'cart_total'   => $row['cart_total'],
                'session_id' => $row['session_id']
            );
        }

但它只提供session_id而不是 user_name cart_total

2 个答案:

答案 0 :(得分:0)

你不应该这样做吗?假设$ session_data是所有会话数据。

   $session_data['cart_contents']['cart_total'];

我可能会像这样使用三级

$total = ( isset(  $session_data['cart_contents']['cart_total'] ) ) ?  $session_data['cart_contents']['cart_total'] : 0;

如果可行的话,以防万一没有防止错误。

答案 1 :(得分:0)

我认为你必须使用如下

  

回波   $这 - >会话而> all_userdata($ session_data是[ 'cart_contents'] [ 'cart_total']);