好的,所以我的代码是编辑数组中的特定条目,数组布局如下。
$counter = 0;
foreach($_SESSION['cart'] as $listitem){
if ($listitem[0] == $_POST['product']){
if ($listitem[1] <= $_POST['remove']){
$remove = array($listitem[0], 0);
$_SESSION['cart'][$counter] = $remove;
} else {
$result = $listitem[1] - $_POST['remove'];
$remove = array($listitem[0], $result);
$_SESSION['cart'][$counter] = $remove;
}
}
$counter = $counter++;
}
这是我的$_SESSION['Cart']
数组布局
Array(
- [0] => Array ( [0] => 8 [1] => 0 )
- [1] => Array ( [0] => 10 [1] => 0 )
- [2] => Array ( [0] => 8 [1] => 1 )
)
我对这个代码行的理解是错误的:
$_SESSION['cart'][$counter]
或者我的柜台不计算在内:
$counter = $counter++;
因为它一直在编辑第一个条目[0]
有人能看到我出错的地方吗?
答案 0 :(得分:2)
$counter = $counter++
什么都不做。
$counter++
会增加$counter
的值,但会将计算为当前值(增量前的值)。这样,您可以将$counter
设置为拥有自己的价值,并且通常不会做太多。
只需改为$counter++
。
(附加信息:还有预增量运算符++$counter
,它增加变量并返回 new 值。)
答案 1 :(得分:0)
$ counter = $ counter ++将$ counter设置为当前值,然后将其递增1。这是一个冗余的陈述。如果你打算只将变量$ counter递增1,那么只需使用$ counter ++。