如何从设置为会话变量的数组中删除变量

时间:2017-08-03 08:46:10

标签: php arrays session

我目前正在我的网上商店购买我的购物车。我将购物车设置为一个会话变量的数组。我可以很容易地将物品添加到购物车,但是我无法将它们移除。我已尝试使用会话变量上的unset删除它们或获取会话变量,将其更新为本地变量,然后将更新后的版本设置为会话变量,但它们都没有工作。

值$ _SESSION [“cart”]是一个包含购物车中商品的数组。 $ _GET [“account”]是他们想要从购物车中删除的商品的索引。这是我目前的代码:

if (isset($_GET["account"])) {

    $accountnumber = $_GET["account"];
    $cart = $_SESSION["cart"];
    unset($cart[$accountnumber]);
    $_SESSION["cart"] = $cart;

}

请让我知道它有什么问题。

由于

3 个答案:

答案 0 :(得分:0)

您可以unset这样的会话

unset( $_SESSION["cart"][$_GET["account"]]);

注意:不要忘记在页面顶部开始会话

答案 1 :(得分:0)

无需使用其他变量引用会话。

unset($_SESSION["cart"][$accountnumber]);

这就够了。

答案 2 :(得分:0)

您的网站中是否还有其他会话?如果没有,你可以试试session_destroy();,试试这个。

if (isset($_GET["account"])) {
   $key=array_search($_GET['account'],$_SESSION['cart']);
   if($key!==false){
      unset($_SESSION['cart'][$key]);
   }
}

引用link