【问题标题】:Access array variable in session CodeIgniter在会话 CodeIgniter 中访问数组变量
【发布时间】:2014-07-03 02:32:37
【问题描述】:

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

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_namecart_total

【问题讨论】:

  • 你的意思是$session_data['cart_contents']['cart_total'] ?
  • 是的,这就是我的意思..

标签: php codeigniter session


【解决方案1】:

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

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

我可能会使用这样的高等教育

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

如果这样可行,但以防万一没有防止错误的总数。

【讨论】:

  • 谢谢哥们,它对我帮助很大。
【解决方案2】:

我认为你必须像下面这样使用

回声 $this->session->all_userdata($session_data['cart_contents']['cart_total']);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多