ginesufa
@ginesufa

Как избавиться от бесконечных условий в php?

Доброго времени суток.
У меня есть переменная в которой указано количество символов в документе. И есть следующее условие:

$number_of_characters = 205; // допустим в документе 205 символов
$sum = 499; // сумма за 99 символов документа

if($number_of_characters >= 1 && $number_of_characters <= 100) {
    $sum = 499;
    echo 'Стоимость: ' . $sum;
} else if($number_of_characters >= 101 && $number_of_characters <= 200) {
    $sum = 998; // сумма увеличилась вдвое
    echo 'Стоимость: ' . $sum;
} else if($number_of_characters >= 201&& $number_of_characters <= 300) { 
    $sum = 1497; // сумма увеличилась втрое
    echo 'Стоимость: ' . $sum;
} // и так далее ...


Число символов в документе может быть любым, к примеру 1000 символов. Подскажите как можно написать цикл, который определит сумму в зависимости от промежутка символов с интервалом в 99 символов, чтобы не приходилось писать бесконечно возможное количество условий else if.

Надеюсь наглядный пример поможет мне понять принцип работы циклов. Спасибо.
  • Вопрос задан
  • 114 просмотров
Решения вопроса 3
@alekcena
Нелинейный наставник
Сумма за 99 символов
У нас есть 205 символов
За каждые 99 символов прайс 500 рублей
1) Делаем деление всего символов на 99
2) Умножаем результат на 500 рублей

ПС:
Это даже не программирование.
Ответ написан
Комментировать
aliencash
@aliencash
Партизан
Но у вас же тут просто формула.
$sum = (1+floor($number_of_characters / 100)) * 499;
Ответ написан
Комментировать
cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!
<?php
$doc_count = 255;

echo "Стоимость " . $doc_count . " символов составит: " . getPrice($doc_count) . " рублей";

function getPrice($count_symbols)
{
    $price_one_part = 99;
    $amount = 500;
    return floor($count_symbols / $price_one_part) * $amount;
}


Стоимость 255 символов составит: 1000 рублей
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы