我有一个多维数组,我可以通过FOR循环遍历并返回值以输入数据库。 问题出现在用户删除一个项目后,我使用unset从$ _SESSION [cart]数组中取出。具体来说,如果是2号线的车,我会用PHP从多维数组中获取值
unset($_SESSION[cart][2]);
现在我可以不再使用FOR循环,因为i的值在for循环在他们的差距使用。
原始阵列将是:
$_SESSION['cart'][1]
$_SESSION['cart'][2]
$_SESSION['cart'][3]
之后从购物车中删除第2行(它可以是任何线,这是一个例子):
$_SESSION['cart'][1]
$_SESSION['cart'][3]
这就是数组的结构:
$_SESSION['cart'][$lineId] = array('stockNumber' => $stockNumber, 'description' => $description, 'masterPrice' => $masterPrice);
$ lineId是购物车中的行项目
我目前检索使用这个循环从购物车中的数据:
for ($i = 1, $howMany = count($_SESSION['cart']); $i < $howMany+1;) {
$stk_code = $_SESSION['cart'][$i]["stockNumber"];
$description = $_SESSION['cart'][$i]["description"];
$unitPrice = $_SESSION['cart'][$i]["masterPrice"];}
我需要理解这一点帮助和方式循环无论订单项编号如何都可以通过该数组。我无法知道购物车中有多少物品或多少物品被拿出。任何帮助,将不胜感激。
'foreach'也许使用的foreach代替。 – bishop
删除后,如果你让你的$ _SESSION ['cart']数组array_values($ _ SESSION ['cart'])并尝试....它将重新索引你的数组.. –