Следующий логический оператор это ifelse, иногда называемый ifthenelse.
Он позволяет задавать условие, при соблюдении которого будет выпол
нена одна инструкция, а в противном случае другая.
if (condition) {
statement(s);
} else {
statement(s)2;
Необходимо запомнить, что при любом невыполнении условия if будет ис
полнен блок инструкций после else. Другими словами, инструкции после else
Представляют собой действия по умолчанию, а блок инструкций после i f ис
ключение из правила. Теперь можно переписать страницу numbers.php, вста
вив в условную конструкцию оператор else.
Использование оператора else
- Откройте файл numbers.php в текстовом редакторе (листинг 6.4).
- Сразу же после закрывающей фигурной скобки условной конструкции if
(строка 30), напишите следующее: - Сохраните сценарий (листинг 6.5), загрузите его на сервер и протестируй
те в браузере (рис. ).
} else { print ("Please make sure that you have entered both
—a quantity and an applicable discount and .then resubmit.n"); }
Теперь, если страница не получила значение количества, будет распечатано
соответствующее сообщение об ошибке.
Листинг 6.5 т Часто имеет смысл использовать конструкцию ifelse вмес
то простого оператора if, так как обычно нужно выполнять какиелибо дей
ствия и в том случа.е, если условие не выполнено.
1 <HTML>
2 <HEAD>
3 <TITLE>Conditionals</TITLE>
4 </HEAD>
5 <BODY>
7 /* Переменная $Quantity должна быть передана в эту страницу из формы.
$Discount необязательна. */
' 8 $Cost =20.00;
9 $Тах = 0.06;
10 if ($Quantity) {
11 SQuantity = abs($Quantity);
12 $Discount = abs($Discount);
13 $Tax++; // $Tax составляет 1.06.
14 $TotalCost = ($Cost * $Quantity);
15 if ( ($TotalCost < 50) AND ($Discount) ) {
16 print ("Your A$$Discount will not apply because the total value
of the sale is under !n<P>");
17 }
18 if ($TotalCost >= 50) {
19 $TotalCost = $TotalCost $Discount;
20 }
21 $TotalCost = $TotalCost * $Tax,
22 $Payments = round ($TotalCost, 2) / 12;
23 // Печать результатов.
24 print ("You requested to purchase SQuantity widget(s) at $$Cost
each.n<P>") ;
25 print ("The total with tax, minus your $$Discount, comes to $");
26 printf ("%01.2f", $TotalCost);
27 print (".n<P>You may purchase the widget(s) in 12 monthly
installments of $");
28 printf ("%01.2f, $Payments);
29 print (" each.n<P>");
30 } else {
31 print ("Please make sure that you have entered both a quantity and
an applicable discount and then resubmit.n"); }
32 ?> ' •
33 </BODY>
34 </HTML>
35
Вы можете добавить условную конструкцию с оператором ifelse к сценарию
numbers.php, чтобы распечатывалось сообщение, если скидка не предоставляет
ся. Также допустимо использовать конструкцию ifelse для печати слова «шту
ка» (widget) при заказе одного экземпляра и слова «штук» (widgets) в остальных
случаях.