【发布时间】:2011-08-21 19:42:05
【问题描述】:
我正在尝试创建一个将商品添加到购物车的 php 函数。我想要它做的是检查数组以查看该项目是否已经在那里,如果它增加数量,如果不是在购物车中创建该项目。
它所做的是添加一个项目,它会在第一次工作(如果项目已经存在,它只会增加数量)但是如果你添加另一个项目,它会继续创建该项目的新实例在购物车中 例如
项目 1 - 数量 4 项目 2 - 数量 1 项目 2 - 数量 1 项目 2 - 数量 1...等等...
下面是我目前的代码?
function add_item ($id, $qty)
{
$count=$this->countItems;
echo "uytfdgghjkl;kj<br>";
$added = false;
if($count>0)
{
$i=0;
while($added == false)
{
echo "fghjkl<br>";
$tid = $this->items[$i]->getId();
echo "new ID: ".$tid."<br>";
echo "old ID: ".$id."<br>";
echo $i;
if($tid == $id)
{
$amount = $this->items[$i]->getQty();
$this->items[$i]->setQty($amount+1);
$added = true;
//$i++;
//break;
}
if($added == true)
{
break;
}
else //if($added == false)
{
$this->items[$this->countItems] = new OrderItem($id, $qty);
//$this->total = $total+ ($qty *$price);
$this->countItems++;
$added = true;
//break;
}
//else break;
$i++;
}
}
else
{
$this->items[$this->countItems] = new OrderItem($id, $qty);
//$this->total = $total+ ($qty *$price);
$this->countItems++;
}
}
【问题讨论】:
-
这段代码有很多错误。但是对于初学者来说,您永远不必检查重复项 - 如果使用 SKU 作为索引键不是不言而喻的,那么您需要花费更多时间来学习和实施算法。
标签: php oop shopping-cart