Вычисление итоговых сумм для формы

Теперь, когда вы знаете, как пользоваться операциями РНР, можно вычислить итоговую сумму и сумму налога для формы заказа компании Вована.

Для этого в нижнюю часть разрабатываемого РНР-сценария необходимо добавить следующий код:

$totalqty = 0;

$totalqty = $tireqty + $oilqty + $sparkqty;

echo "Заказано товаров: ".$totalqty."<br />";

$totalamount = 0.00;

define('TIREPRICE', 100);

define('OILPRICE', 10);

define('SPARKPRICE', 4);

$totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;

echo "Итого: $".number_format($totalamount,2)."<br />";

$taxrate = 0.10; // местный налог с продаж составляет 10%

$totalamount = $totalamount * (1+$taxrate);

echo "Всего, включая налог с продаж: $". number_format($totalamount,2)."<br />";


После обновления страницы в окне браузера вы увидите что-то, похожее на показанное на рис. 1.5.

Итоговая сумма для формы

Как видите, в этом фрагменте кода используется несколько операций. Операции сложения (+) и умножения (*) применяются для вычисления итоговых значений, а операция конкатенации строк (.) — для подготовки вывода в окне браузера.

Кроме того, с помощью функции number format () итоговые суммы были сформатированы и представлены в виде строк с двумя десятичными разрядами. Упомянутая функция входит в состав РНР-библиотеки математических функций.

Если вы внимательно проанализируете вычисления, то, возможно, возникнет вопрос, почему для них был выбран именно такой их порядок. Например, рассмотрим следующий оператор:

$totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;

Итог кажется правильным, но почему умножение выполнилось перед сложением? Это обусловлено приоритетом операций, т.е. порядком их выполнения.