2

我有一个 PHP 数组,使用

$this->cart = array();

除了数组不会,无论我做什么,它都不会采用新值,而只会用新值替换现有值。

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

$this->cart[]=$input;

第一次使用时,它说数组“Array ([0] => 1”中有一个项目第二次使用它会显示这个,替换第一个值“Array ([0] => 2)”

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

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

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

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

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

已解决:见评论。

4

2 回答 2

1

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

试试看。像这样:

  1. 有一个购物车对象

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

    $cart=$manager->getCart();
    $cart->addToCart($your_new_item);
    
于 2012-05-21T15:34:35.843 回答
-1

名称应如下:addeditem[]

于 2012-05-21T15:23:39.543 回答