我正在尝试从存储 session 中的数组中删除一个项目。我尝试了以下操作,但结果相反,实际上增加了更多!
所以这是我的 foreach,其中产品显示在购物车中,带有一个从购物车中移除的按钮:
foreach ($_SESSION['products'] as $product) {
$name = $product['name'];
$id = $product['id'];
$price = $product['price'];
$img = $product['img'];
$sku = $product['sku'];
$description = $product['description'];
echo '<a href="single_product.php?product_id=' . $product['products'] . '">';
echo "<img src='$img'><br />";
echo "Product: $name<br />";
echo "Price: $price | ID: $id<br />";
echo "$description";
echo '</a><br /><br />';
echo '<form action="removeItem.php" method="post">
<input type="hidden" name="product_id" value="' . $product['id'] . '" />
<button name="removeItem">Remove</button>
</form>';
$sum += $price;
}
这里是删除它的表单,但当您点击删除时它实际上会添加更多内容:
$_SESSION['products'][] = $itemid;
$id = $_POST['id'];
unset($_SESSION['products'][$id]);
header("location:basket.php");
最佳答案
尝试这样的事情:
$product_id = $_POST["id"];
foreach($_SESSION['products'] as $key=>$product) {
if($product['id'] == $product_id) {
unset($_SESSION['products'][$key]);
break;
}
}
关于php - 从 session 中的数组中取消设置项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38540077/