【发布时间】:2013-03-11 22:51:52
【问题描述】:
我正在构建一个购物车,我将订单保存在一个多维数组中,该数组存储在会话中,$_SESSION['cart']
产品由类似的东西表示
$product_array=array($id,$description,$price);
多维数组是$product_array.s的数组
$id's 是独一无二的。
问题是,当我想从多维$_SESSION['cart'] 中删除产品时
基于 id 的数组,如果它只是购物车中的一个项目,它可以工作,但如果更多,它不起作用,这些项目似乎被删除,但它的“幽灵”留在购物车中。编码
是这样的:
//get $id, $count is elements in array
for ($r = 0; $r <= $count-1; $r++)
{
if($_SESSION['cart'][$r][0]=="$id")
{
unset($_SESSION['cart'][$r]);
echo "<div class=success>The item has been removed from your shopping cart.</div>";
break;
}
}
【问题讨论】:
-
您在 if 条件中使用了
break;,因此它正在终止循环。 -
@Rikesh:他的想法是,如果他找到了具有正确 id 的项目,则使用 break 来停止循环。
-
相同的结果没有中断,id是唯一的,所以应该只有一个匹配的结果。谢谢。
-
@bodesam - 我认为我们需要更多说明您究竟想要实现什么。
-
产品由类似的东西表示...我认为我们需要确切地知道它的外观。我认为您在数组布局以及在 for 循环中检查的内容存在问题。
标签: php session multidimensional-array