数组编辑无法正常工作

时间:2015-03-13 13:26:24

标签: php arrays

好的,所以我的代码是编辑数组中的特定条目,数组布局如下。

$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]

有人能看到我出错的地方吗?

2 个答案:

答案 0 :(得分:2)

$counter = $counter++什么都不做。

$counter++会增加$counter的值,但会将计算为当前值(增量前的值)。这样,您可以将$counter设置为拥有自己的价值,并且通常不会做太多。

只需改为$counter++

(附加信息:还有预增量运算符++$counter,它增加变量并返回 new 值。)

答案 1 :(得分:0)

$ counter = $ counter ++将$ counter设置为当前值,然后将其递增1。这是一个冗余的陈述。如果你打算只将变量$ counter递增1,那么只需使用$ counter ++。