数组替换最后一个值,而不是添加 [PHP]


Array replacing last value, not adding [PHP]

我有一个PHP数组,使用

$this->cart = array();

这都是 ind 和 dandy,除了数组,无论我做什么,都不会接受新值,而只会用新值替换现有值。

我已经尝试了array_merge,array_push和其他方法,并且发生了同样的事情,但这是应该有效的代码。

$this->cart[]=$input;

第一次使用时,它说数组中有一个项目"数组 ( [0] => 1"第二次使用它时,它将显示这一点,替换第一个值"数组 ( [0] => 2 ( ">

添加值由一个表单触发,该表单拉取 ID 并将其作为值放入数组中

echo '<input type="hidden" name="addeditem" value="2">';

但无论什么代码,它都不会附加数组,只会替换它,任何想法。我尝试添加键和值,以及创建第二个数组并将其合并,但没有任何效果。

添加到购物车的功能是这个

function addToCart($input){
$this->cart[]=$input;
$this->setCartCount();
}

已解决:请参阅评论。

您确定 $this->cart 是一个全局变量,并且每次调用 addToCart(( 时都不会创建数组吗?

像这样尝试一下:

  1. 有一个购物车对象

    public class cart{
       private $items;
       function __construct() {
         $items=array();
       }
       public function addToCart($item){
         $this->items[]=$item;
       }
    }
    
  2. 将 Item 添加到代码中其他位置的购物车中。

    $cart=$manager->getCart();
    $cart->addToCart($your_new_item);
    

名称应如下: addeditem[]