我有一个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(( 时都不会创建数组吗?
像这样尝试一下:
-
有一个购物车对象
public class cart{ private $items; function __construct() { $items=array(); } public function addToCart($item){ $this->items[]=$item; } }
-
将 Item 添加到代码中其他位置的购物车中。
$cart=$manager->getCart(); $cart->addToCart($your_new_item);
名称应如下: addeditem[]