Если добавлять одинаковые товары, то по логике свойство numberProduct должно увеличиваться на 1.
Оно увеличивается только 1 раз , но почему-то не сохраняется?
Помогите пожалуйста, я уже 3 часа мучаюсь.
23 строка
<?php
abstract class Product{
public $title;
public $price;
public $numberProduct;
public function __construct($title, $price, $numberProduct = 1){
$this->title = $title;
$this->price = $price;
$this->numberProduct = $numberProduct;
}
}
class Cart{
public $countProduct = [];
public function addProduct($product){
if(array_key_exists($product->title, $this->countProduct)){
$res = $product->numberProduct = $product->numberProduct+ 1;
echo 'Товар добавлен в корзину<br>';
return $res;
}
else{
$this->countProduct[$product->title] = $product;
echo 'Товар добавлен в корзину<br>';
}
}
public function deleteProduct($product){
echo $product->title . ' удалён';
unset($this->countProduct[$product->title]);
}
}
class Planshet extends Product{}
$planshet = new Planshet('Asus', 2000);
$planshet2 = new Planshet('Lenovo', 3000);
$planshet3 = new Planshet('Lenovo', 3000);
$planshet4 = new Planshet('Lenovo', 3000);
$planshet5 = new Planshet('Lenovo', 3000);
$korzina = new Cart();
$korzina->addProduct($planshet); //добавляю товар в корзину
$korzina->addProduct($planshet2); //добавляю товар в корзину
$korzina->addProduct($planshet3); //добавляю товар в корзину
$korzina->addProduct($planshet4); //добавляю товар в корзину
$korzina->addProduct($planshet5); //добавляю товар в корзину
echo '<pre>';
var_dump($korzina->countProduct);
echo '</pre>';
$korzina->deleteProduct($planshet); //удаляю из корзины
echo '<pre>';
var_dump($korzina->countProduct);