Операторы инкремента и декремента
Удобные вспомогательные операторы инкремента (++) и декремента (--), приведенные в табл. 7, делают программу более наглядной и обеспечивают укороченную запись для увеличения или уменьшения текущего значения переменной на 1.
Таблица 7. Операторы инкремента и декремента
Интересный факт: эти операторы могут располагаться как слева, так и справа от операнда. Действия, выполняемые оператором, зависят от того, с какой стороны от операнда он находится. Рассмотрим следующий пример: <? $inventory = 15; // Присвоить Sinventory целое число 15 $old_inv = $inventory--; echo "Результат присвоения \$old_inv значения \$inventory, а затем уменьшение \$inventory: ", $old_inv, "<br>"; $orig_inventory = ++$inventory; echo "Результат увеличения \$inventory, а затем присвоение увеличенного значения \$inventory: ", $orig_inventory; ?>
Рис. 11. Результат работы программы с операторами инкремента и декремента
Таким образом, расположение операторов инкремента и декремента оказывает сильное влияние на результат вычислений.
Логические операторы
Логические операторы (табл. 8) наряду с математическими операторами играют важную роль в любом приложении РНР, обеспечивая средства для принятия решений в зависимости от значения переменных. Логические операторы позволяют управлять порядком выполнения команд в программе и часто используются в управляющих конструкциях (таких, как условная команда if, а также циклы for и while).
Таблица 8 Логические операторы
Логические операторы часто используются для проверки результата вызова функций: file_exists("filename.txt") OR echo "File does not exist!"; Возможен один из двух вариантов: файл filename.txt существует; будет выведено сообщение: «File does not exist!».
Операторы равенства
Операторы равенства (табл. 9) предназначены для сравнения двух величин и проверки их эквивалентности.
Таблица 9 Операторы равенства
Даже опытные программисты часто допускают одну распространенную ошибку — они пытаются проверять равенство двух величин, используя всего один знак равенства (например, $а = $b). Помните, при такой записи значение $b присваивается $а, и желаемый результат не будет достигнут.
Операторы сравнения Операторы сравнения (табл. 10), как и логические операторы, позволяют управлять логикой программы и принимать решения при сравнении двух и более переменных.
Таблица 10. Операторы сравнения
Обратите внимание: операторы сравнения предназначены для работы только с числовыми значениями. Хотя возникает искушение воспользоваться ими для сравнения строк, результат, скорее всего, окажется неверным. В РНР существуют стандартные функции для сравнения строковых величин.
Конструкции языка
Проверка условий Управляющие конструкции обычно проверяют условия на истинность или ложность, и в зависимости от результата проверки выполняется то или иное действие. Рассмотрим выражение $а == $b. Это выражение истинно, если $а равно $b, и ложно в противном случае. Результат истинного выражения считается равным 1, а результат ложного выражения равен 0. Рассмотрим следующий фрагмент: <? $а = 5; $b = 5; echo $а == $b; ?>
Рис. 12. Результат работы программы на проверку условий
В результате выводится значение 1. Если изменить $а или $b и присвоить переменной значение, отличное от 5, выводится 0.
if Команда if представляет собой разновидность команды выбора, которая вычисляет значение выражения и в зависимости от того, будет ли полученный результат истинным или ложным, выполняет (или не выполняет) блок программного кода. Существует две общих формы команды if: if (выражение) { блок } и if (выражение) { блок } else { блок } Как упоминалось выше, проверка условий дает либо истинный, либо ложный результат. Выполнение блоков зависит от результата проверки, причем блок может состоять как из одной, так и из нескольких команд. В следующем примере после проверки условия выбирается и выводится одно из двух утверждений: <? $cooking_weight=100; if ($cooking_weight < 200) { echo "This is enough pasta (< 200g) for 1-2 people"; } else { echo "That's a lot of pasta. Having a party perhaps?"; } ?>
Рис. 13. Результат работы программы с конструкцией if-else
Если в результате проверки условия выполняется всего одна команда, фигурные скобки не обязательны: if ($cooking_weight < 100) echo "Are you sure this is enough?";
Elseif Команда elseif добавляет в управляющую конструкцию if дополнительный уровень проверки и увеличивает количество условий, на основании которых принимается решение: if (выражение) { блок } elseif (выражение) {
блок } В РНР существует альтернативное представление команды elseif — в виде двух отдельных слов else if. Оба варианта приводят к одинаковым результатам, а альтернативное представление поддерживается исключительно для удобства. Команда elseif особенно полезна в тех случаях, когда происходит последовательное уточнение проверяемых условий. Обратите внимание: условие elseif вычисляется лишь в том случае, если все предшествующие условия if и elseif оказались ложными.
<? $cooking_weight=300; if ($cooking_weight < 200) { echo "This is enough pasta (< 200g) for 1-2 people"; } elseif ($cooking_weight < 500) { echo "That's a lot of pasta. Having a party perhaps?"; } else { echo "Whoa! Who are you cooking for, a football team?"; } ?>
Рис. 14. Результат работы программы с использованием elseif
4.4.6.2. Цикл с предусловием While Предназначен для циклического выполнения команд, с проверкой на то, нужно ли это делать (проверка логического выражения): while (логическое выражение) инструкция
<? $i=1; while ($i<10){ echo " Hello"; $i++; } ?>
Этот скрипт будет печатать слово Hello до того момента, пока переменная $i не примет значение 10. Таким образом, слово «Hello» выведется 9 раз. Для этой конструкции есть тоже альтернативный синтаксис: while (логическое выражение); команды; endwhile;
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|