Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Оптимизация кода и аналог на JS
Форумы портала PHP.SU » » Вопросы новичков » Оптимизация кода и аналог на JS

Страниц (1): [1]
 

1. Noobster - 20 Июля, 2022 - 17:16:45 - перейти к сообщению
Добрый день,
Имеется массив, где идёт перечисление диапазон дней, и цена скидки.
Надо на каждый день отнимать цену скидки.
Код работает, но думаю требуется оптимизация, подскажите как лучше.

И ещё как аналогично написать на JS.
Спасибо Ниндзя

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $start_day = new Carbon("07/27/2022 03:40 pm");
  3. $end_day = new Carbon("07/30/2022 03:40 pm");
  4. $price = "45.25";
  5.  
  6. // Надо подправить для тестирования
  7. $discounts = "[0] => Array ( [0] => 1-2 [1] => 0 [2] => 10 ) [5] => Array ( [0] => 3-7 [1] => 5 [2] => 15 ) [10] => Array ( [0] => 8-12 [1] => 10 [2] => 20 )";
  8.  
  9. $total_days = $start_day->diffInDays($end_day);
  10. $total_price = $price*$total_days;
  11.  
  12. $day = $start_day->diffInDays($end_day);
  13. foreach ($discounts as $value) {
  14.         $day_value = explode("-", $value[0]);
  15.         $min_day = $day_value[0];
  16.         $max_day = $day_value[1];
  17.         if (in_array($day, range($min_day,$max_day))) {
  18.                 $price_discount = $value[1] * $day;
  19.                 $total_price -= $price_discount;
  20.                 break;
  21.         }
  22. }
  23.  
  24. echo $total_price;
  25. ?>
2. Noobster - 22 Августа, 2022 - 14:02:21 - перейти к сообщению
Дайте нуббу ответ, пробую, но чтото с багами

те как определить в какой диапазон попадает количество дней Растерялся
3. Vladimir Kheifets - 23 Августа, 2022 - 13:31:15 - перейти к сообщению
Noobster пишет:
Дайте нуббу ответ, пробую, но чтото с багами

те как определить в какой диапазон попадает количество дней Растерялся


Добрый день!
РНР без Carbon
Спойлер (Отобразить)
JS (ECMAScript)
Спойлер (Отобразить)
Удачи!

 

Powered by ExBB FM 1.0 RC1