Я пытаюсь создать функцию 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++;
}
}