Поиск
Сложение, вычитание, умножение и деление
Со школы всем известно, что в основе арифметики лежат четыре операции: сложение, вычитание, умножение и деление. Мы используем эти действия в PHPсценарии, созданном для расчета общей стоимости покупок. Сценарий может быть применен как основа прикладной программы shopping cart («кор зина покупателя»).
Создание калькулятора стоимости покупок
- Откройте текстовый редактор и создайте новый документ (листинг 4.1).
- Между PHPтэгами вставьте такую запись:
- Сохраните сценарий как файл numbers.php и загрузите его на сервер.
- Протестируйте сценарий в Webбраузере, не забудьте указать количество товара и скидки (рис.)
<HTMLxHEADxTITLE>Using Numbers</TITLEx/HEADxBODYx?php?>
</BODYx/HTML>
$Cost = 2000.00; $Тах = 0.06;
Мы вручную задаем стоимость товара, равную ,000.00. Запомните, р зна чении переменной не используется ни знак доллара, ни запятая. Также вруч ную задается ставка налога с продаж (6%). В коде мы используем десятичную дробь 0.06, чтобы пока не отвлекаться на операции с процентами. Оба числа с плавающей запятой.
$TotalCost = $Cost * $Quantity;
Умножение в языке РНР обозначается звездочкой (*). Значение перемен ной $Quantity может передаваться в сценарий из экранной формы, как это и происходит в приложении shopping cart на Webсайте. Вы можете использо вать способы, продемонстрированные в главе 3, и создать такую форму, но здесь мы просто добавим это значение к указателю URL.
Листинг 4.1. Хотя вычисления довольно простые, не стесняйтесь добавлять комментарии, которые вы считаете необходимыми для описания этого процес са. Если вы собираетесь усовершенствовать свои навыки работы с HTML, со здайте форму, которая берет информацию у пользователя (включая количество и скидку) и передает ее в сценарий.
1 <HTML>
2 <HEAD>
3 <TITLE>Using Nurnbers</TITLE>
4 </HEAD>
5 <BODY>
6 <?php
7 /* Переменная $Quantity должна быть передана в эту страницу.
$Discount необязательна. */
8 $Cost = 2000.00;
9 $Тах = 0.06;
10 $TotalCoet = $Cost * $Quantity;
11 $Тах = $Тах + 1; // Налог ($Тах) 1.06.
12 $TotalCost = $TotalCost $Diecount;
13 $TotalCost = $TotalCost * $Tax;
14 $Payments = $TotalCost /12;
15 .// Печать результатов.
16 print ("You requested to purchase $Quantity widget(s) at $$Cost
each.n<P>");
17 print ("The total with tax, minus your $$Discount, comes to $");
18 print (" n<P>You may purchase the widget(s) in 12 monthly
installments of $$Payments each.n<P>");
19 ?>
20 </BODY>
21 </HTML>
$Tax = $Tax + 1; // Налог ($Тах) 1.06.
Для сложения используется знак плюс (+). Вы можете вычислить, сколько будет стоить товар, включая налог, добавив к проценту единицу и затем умно жив это число на общую стоимость покупки. Для ясности добавим коммента рий (его можно разместить в конце строки, как у меня, а можно на следующей строке, допустимо вообще не делать комментариев). Одна из причин объеди нения обоих типов чисел в одну категорию переменных заключается в следу ющем: вы можете выполнять вычисления со смешанными типами переменных без какихлибо проблем.
$TotalCost = $TotalCost $Discount;
Чтобы показать операцию вычитания, для которой используется знак ми нус (), предположим, что можно использовать скидку, которая также будет до бавлена к указателю URL или введена в форму.
$TotalCost = $TotalCost * $Tax;
Можно сделать вычисление с самой переменной для присвоения ей нового значения (вполне обычная практика), но обратите внимание, что первоначаль ное значение переменной теряется. Поэтому на данной строке первоначаль ное значение переменной $TotalCost заменено значением, полученным в результате умножения величины $TotalCost на $Тах.
$Payments = $TotalCost / 1 2 ;
Чтобы продемонстрировать операцию деления, предположим, что за товар
будет уплачено в течение года. Поэтому мы разделили сумму покупки, включая
налоги и соответствующие скидки, на 12 и нашли сумму ежемесячного платежа.
Этот комментарий отделяет вычисления от передачи результатов в браузер.
print ("You requested to purchase $Quantity widget(s) at $$Cost
—each.n<P>");
print ("The total with tax, minus your $$Discount, comes to $");
print (" n<P>You may purchase the widget(s) in 12 monthly
installments —of $$Payments each.n<P>");
Поэкспериментируйте с этими значениями, в том числе опуская перемен ные, как на рис. , и посмотрите, правильно ли работает калькулятор. Как можно было заметить, калькулятор использует числа, не совсем соответству ющие реальным денежным значениям (см. рис. ). В следующем разделе вы на учитесь округлять числа


Если вы хотите распечатать значение общей суммы до прибавления налога и вы читания скидки, есть два способа сделать это. Первый состоит в том, чтобы вста вить соответствующую инструкцию print () сразу же за рассчитанным значени ем, перед тем как переменная $TotalCost была изменена. Второй способ создать новые переменные, в которых будут храниться значения последующих вы числений (например, $TotalWithTax и $TotalLessDiscount).
Есть два способа напечатать цифру со знаком доллара, например 00.00. Пер вый заэкранировать знак доллара, как это сделано в примере. Второй вставить пробел между знаком доллара и именем переменной. В таком случае и знак дол лара, и пробел будут переданы в браузер. Нельзя использовать переменную типа $$Variable, так как комбинация $$ создает особый тип переменной, который в книге не рассматривается.