【问题标题】:Unset session item array from session cart array从会话购物车数组中取消设置会话项数组
【发布时间】:2014-04-03 07:32:13
【问题描述】:
Array ( 
   [0] => Array ( 
      [0] => Array ( 
         [subject] => Computer [price] => 33.00
         [quantity] => 1 
         [total] => 33
         [level] => Array (
            [CSA] => 1
            [CSB] => 2
         )
      )
   )
   [1] => Array (
      [0] => Array (
         [subject] => English
         [price] => 33.00
         [quantity] => 25
         [total] => 825
         [level] => Array (
            [Eintro] => 1
            [EA] =>
            [EB] => 1
         )
      )
   )

伙计们,我有一个像上面这样的会话购物车数组。如果主题计算机和与主题计算机相关的价格、数量、总数和级别,如何删除该项目。

我知道我必须使用未设置的 SESSION。但是如何只为计算机行取消设置会话数组并且不影响购物车中的其他项目数组?

var_export($session_cart);

array ( 
   0 => array ( 
      0 => array ( 
         'subject' => 'Computer', 
         'price' => '33.00',
         'quantity' => 1,
         'total' => 33, 
         'level' => array ( 
            'CSA' => '1', 
            'CSB' => '2',
         ),
      ),
   ), 
   1 => array ( 
      0 => array ( 
         'subject' => 'English',
         'price' => '33.00',
         'quantity' => 25,
         'total' => 825,
         'level' => array (
            'EA' => '1',
            'EB' => '1',
         ), 
      ), 
   ),

【问题讨论】:

  • 你能发布var_export($yourarray); 的输出而不是print_r($yourarray); 吗?
  • 我已经用 var_export 的输出更新了问题

标签: php arrays session


【解决方案1】:

我不确定为什么产品在另一个数组中的一个数组中,但想法是您遍历所有产品并检查主题是否为计算机。如果是,则通过当前所在的索引取消设置数组元素。

类似:

for ($i=0;$i<count($_SESSION['cart']);$i++)
   if ($_SESSION['cart'][$i]['subject'] == 'Computer') unset($_SESSION['cart'][$i])

【讨论】:

    猜你喜欢
    • 2014-04-03
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    相关资源
    最近更新 更多