为了账号安全,请及时绑定邮箱和手机立即绑定

检查类似的会话变量,如果存在则仅增加数量

检查类似的会话变量,如果存在则仅增加数量

PHP
POPMUISE 2021-05-02 17:14:21
我需要将商品添加到购物车中,因此,如果我添加productid = 1的一种产品,然后又添加同一产品productid = 1的产品,则只需要增加商品的数量,而无需添加其他商品该产品。我尝试了以下方法:foreach ($_SESSION['cart'] as $item) {        if ($item['product_id'] == $part_id) {            $quantity++;        }    }但是我需要知道如何删除该产品的先前添加的会话。这是我目前用于将产品添加到购物车中的代码,但是以下代码仅添加了数量为2的另一种产品,因此我有://-购物车-//产品:1数量:1产品:1数量:2//-购物车-//代码:foreach ($_SESSION['cart'] as $item) {if ($item['product_id'] == $part_id) {    $quantity++;    }}$_SESSION['cart'][] = array(    'product_id' => $part_id,    'title' => $title,    'price' => $price,    'default_img' => $default_img,    'quantity' => $quantity);编辑:关于如何取消设置上一个会话的最初的问题,但是如果我再次添加相同的产品,数量保持为2,表示它取消设置数量= 3的上一个会话,并且仅增加数量+1表示数量保持在2。
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

您正在处理关联数组。您具有要删除的对象的密钥。添加数量后,我将立即取消设置。现在,您可以使用更新的数量推送下一个对象。


foreach ($_SESSION['cart'] as $item) {

        if ($item['product_id'] == $part_id) {

            $quantity++;

            $_SESSION['cart'][$part_id] == NULL //Add this

        }

    }



查看完整回答
反对 回复 2021-05-28
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

这为我工作:


$exists = false;

    foreach ($_SESSION['cart'] as $key => $item) {

        if ($item['product_id'] == $part_id) {

            $exists = true;

        }

    }

    if ($exists == true) {

        $_SESSION["cart"][$key]['quantity']++;

    }

    else{

    $_SESSION['cart'][] = array(

        'product_id' => $part_id,

        'title' => $title,

        'price' => $price,

        'default_img' => $default_img,

        'quantity' => $quantity);

    }


查看完整回答
反对 回复 2021-05-28
  • 2 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信