我有一段代码会导致无限循环,但仅在某些情况下。
它用于购物车数量的更改,并且在更改最后添加的物品的数量时购物车可以正常工作。但例如,如果我在购物车中有 3 件商品,我无法更改第 1 件或第 2 件商品的数量,因为循环无休止地运行。
我不确定这段代码有什么问题我发现了类似的问题但没有解决方案。
代码如下所示:
foreach ($_SESSION["cart"] as $each_item) {
$i++;
while (list($key, $value) = each($each_item)) {
if ($key == "item_id" && $value == $item_to_adjust) {
// That item is in cart already so let's adjust its quantity using array_splice()
array_splice($_SESSION["cart"], $i-1, 1, array(array("item_id" => $item_to_adjust, "quantity" => $quantity)));
} // close if condition
} // close while loop
if ($i > 50) die("manual termination");
} // close foreach loop
如果我在向购物车添加 2 件商品时在 SESSION 上执行 var_dump,它会显示以下内容:
数组(2){[0]=>数组(2){[“item_id”]=>字符串(11)“100-C09EJ01”[“数量”]=>字符串(1)“3”}[1]= > 数组(2) { ["item_id"]=> 字符串(11) "700-CF220EJ" ["数量"]=> int(1) } }
有人可以帮我吗?
先感谢您。