更新Updaing Multi-Dim Array会从阵列中删除数据

时间:2017-02-14 19:36:02

标签: php multidimensional-array

我有一个非常基本的PHP购物车,在我的实时网站上运行良好。

我最近在localhost上备份并安装了该站点,我发现我的代码在localhost上的执行方式不同。我一直试图找出为什么好几天。无奈之下,我正在寻求帮助。

代码是从购物车中获取$ _POST ['qty']和$ _POST ['spit_qty]条目并更新SHOPPING_CART数组。

有问题的代码:

if (isset($_POST['update'])){
   if ((isset($_POST['items_qty'])) || (isset($_POST['split_qty'])))
      {
          foreach ($_POST['items_qty'] as $itemID => $new_qty)
              {
                  $_SESSION['SHOPPING_CART'][$itemID]['qty'] = $new_qty;
              }
                   foreach ($_POST['split_qty'] as $itemID => $new_split_qty)
                       {
                           $_SESSION['SHOPPING_CART'][$itemID]['split_qty'] = $new_split_qty;
                       }
                   foreach ($_POST['items_qty'] as $itemID => $qty)
                       {
                           if (($qty == 0) && ($_SESSION['SHOPPING_CART'][$itemID]['split_qty'] == 0))
                       {
                           unset($_SESSION['SHOPPING_CART'][$itemID]);
                    }
                }
            }
            header('Location: ' . $_SERVER['PHP_SELF']);
            $return_page = $_SESSION['return_page']; 
} 

这是我的Cart数组中有两个项目。

Array
(
    [0] => Array
        (
            [name] => 22314 - BURGER SLIDER W/BUN ANGUS CKD
            [price] => 62.30
            [qty] => 1
            [split_qty] => 0
            [split_price] => 0
            [pack] => 72/2.2 oz
            [bf] => 72
            [brk] => 0.0000
            [cw] => N
            [page] => products?group=0055&cat=BEE
            [cat] => BEE
        )

    [1] => Array
        (
            [name] => 22365 - BURGERS 4OZ FULLY COOKED
            [price] => 54.00
            [qty] => 1
            [split_qty] => 0
            [split_price] => 0
            [pack] => 1/10 lb
            [bf] => 1
            [brk] => 0.0000
            [cw] => N
            [page] => products?group=0055&cat=BEE
            [cat] => BEE
        )
)

我更新了购物车中的数量。

当我查看$ _POST ['items_qty']数据时:

键:0 - 值:2 关键:1 - 价值:2

所以['qty']数据看起来还不错,但是当我在更新Qty之后查看SHOPPING_CART数组时,qty是可以的,但是数组的所有其他元素都已被删除。

Array
(
    [0] => Array
        (
            [qty] => 2
        )

    [1] => Array
        (
            [qty] => 2
        )

)

我不明白为什么更新数组会删除所有未更新的元素。

提前致谢。

0 个答案:

没有答案