Добрый вечер! Есть задача поиска ближайшего значения. Например есть товар с ценой 12, кто-то ставить такую же цену, система должна понять, что товар с такой ценой есть и добавить 0.1 к цене. Чтобы вышло 12.1, но если и эта цена занята то добавить еще 0.1.
В двух словах, нужно найти ближайшую от введенной, свободную цену с шагом 0.1
public function findCorrectClosestPrice($price, $products)
{
foreach ($products as $product)
{
if ($product->price === $price)
{
$price = $price + 0.1;
return $this->findCorrectClosestPrice($price, $products);
}
else
{
return $price + 0.1;
}
}
return null;
}
Проблема в том, что если уже есть цены 12, 12.1 и я допустим ставлю 12, то появляеться 2 товара с ценой 12.1, хотя должа установиться 12.2. Вопрос простой, но я правда не вижу ошибки в своем коде, тыкните носом, очень прошу.