从多维数组中取消设置数组

时间:2014-04-22 05:42:51

标签: php arrays session multidimensional-array

这是我的功能。我在删除和编辑购物车时遇到问题。

之前我在数组$ id和$ quantity中只有两个参数,但我必须添加$ varianta,例如存储大小等等。

插入和预告$ _SESSION [' cart']就像一个魅力,但正如我所说的那样删除和更新。

功能addToCart()

    public static function addToCart($data) {

        $id = $data['id']; //id
        $quantity = $data['qty']; //qty
        $varianta = $data['varianty']; //varianta

        //ověříme, zda $_SESSION['cart'] 
        if(!isset($_SESSION['cart'])) {
            $_SESSION['cart'] = array(); 
        }

        array_push($_SESSION['cart'], array(
            'id' => $id,
            'quantity' => $quantity,
            'varianta' => $varianta
        )); 
    }

功能editCart()

public static function editCart($data) {
    //edit quantity +-
}

功能removeFromCart()

public static function removeFromCart($id) {
        unset($_SESSION['cart'][$id]); //DOESNT WORK
    }

如果有人告诉我如何处理我想要实现的目标,我将感激不尽。

谢谢。

1 个答案:

答案 0 :(得分:2)

因为您未在$id中将$_SESSION['cart']设置为索引,请尝试此

  public static function addToCart($data) {

        $id = $data['id']; //id
        $quantity = $data['qty']; //qty
        $varianta = $data['varianty']; //varianta

        //overíme, zda $_SESSION['cart'] 
        if(!isset($_SESSION['cart'])) {
            $_SESSION['cart'] = array(); 
        }

        $_SESSION['cart'][$id] = array(
            'quantity' => $quantity,
            'varianta' => $varianta
        )); 

    }
相关问题