Поиск

Сложение, вычитание, умножение и деление

Со школы всем известно, что в основе арифметики лежат четыре операции: сложение, вычитание, умножение и деление. Мы используем эти действия в PHPсценарии, созданном для расчета общей стоимости покупок. Сценарий может быть применен как основа прикладной программы shopping cart («кор зина покупателя»).

Создание калькулятора стоимости покупок

  1. Откройте текстовый редактор и создайте новый документ (листинг 4.1).
  2. <HTMLxHEADxTITLE>Using Numbers</TITLEx/HEADxBODYx?php?> </BODYx/HTML>
  3. Между PHPтэгами вставьте такую запись:
  4. $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>");
  5. Сохраните сценарий как файл numbers.php и загрузите его на сервер.
  6. Протестируйте сценарий в Webбраузере, не забудьте указать количество товара и скидки (рис.)
  7. Поэкспериментируйте с этими значениями, в том числе опуская перемен ные, как на рис. , и посмотрите, правильно ли работает калькулятор. Как можно было заметить, калькулятор использует числа, не совсем соответству ющие реальным денежным значениям (см. рис. ). В следующем разделе вы на учитесь округлять числа

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

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