Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Операторы инкремента и декремента




 

Удобные вспомогательные операторы инкремента (++) и декремента (--), приведенные в табл. 7, делают программу более наглядной и обеспечивают укороченную запись для увеличения или уменьшения текущего значения переменной на 1.

 

Таблица 7.

Операторы инкремента и декремента

Пример Название Результат
++$а, $а++ Инкремент Переменная $а увеличивается на 1
--$а, $а-- Декремент Переменная $а уменьшается на 1

 

Интересный факт: эти операторы могут располагаться как слева, так и справа от операнда. Действия, выполняемые оператором, зависят от того, с какой стороны от операнда он находится. Рассмотрим следующий пример:

<?

$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

Логические операторы

Пример Название Результат
$а && $b Конъюнкция Истина, если истинны оба операнда
$aAND$b Конъюнкция Истина, если истинны оба операнда
$а И $b Дизъюнкция Истина, если истинен хотя бы один из операндов
$а OR $b Дизъюнкция Истина, если истинен хотя бы один из операндов
!$а Отрицание Истина, если значение $а ложно
NOT!$a Отрицание Истина, если значение $а ложно
$а XOR $b Исключающая дизъюнкция Истина, если истинен только один из операндов

 

Логические операторы часто используются для проверки результата вызова функций:

file_exists("filename.txt") OR echo "File does not exist!";

Возможен один из двух вариантов:

файл filename.txt существует;

будет выведено сообщение: «File does not exist!».

 

Операторы равенства

 

Операторы равенства (табл. 9) предназначены для сравнения двух величин и проверки их эквивалентности.

 

Таблица 9

Операторы равенства

Пример Название Результат
$a==$b Проверка равенства Истина, если $а и $b равны
$а!= $b Проверка неравенства Истина, если $а и $b не равны
$а === $b Проверка идентичности Истина, если $а и $b равны и имеют одинаковый тип

 

Даже опытные программисты часто допускают одну распространенную ошибку — они пытаются проверять равенство двух величин, используя всего один знак равенства (например, $а = $b). Помните, при такой записи значение $b присваивается $а, и желаемый результат не будет достигнут.

 

Операторы сравнения

Операторы сравнения (табл. 10), как и логические операторы, позволяют управлять логикой программы и принимать решения при сравнении двух и более переменных.

 

Таблица 10.

Операторы сравнения

Пример Название Результат
$a<$b Меньше Истина, если переменная $а меньше $b
$a>$b Больше Истина, если переменная $а больше $b
$a <= $b Меньше или равно Истина, если переменная $а меньше или равна $b
$a >= $b Больше или равно Истина, если переменная $а больше или равна $b
($a-12)?5: -1 Тернарный оператор Если переменная $а равна 12, возвращается значение 5, а если не равна — возвращается 1

 

Обратите внимание: операторы сравнения предназначены для работы только с числовыми значениями. Хотя возникает искушение воспользоваться ими для сравнения строк, результат, скорее всего, окажется неверным. В РНР существуют стандартные функции для сравнения строковых величин.

 

Конструкции языка

 

Проверка условий

Управляющие конструкции обычно проверяют условия на истинность или ложность, и в зависимости от результата проверки выполняется то или иное действие. Рассмотрим выражение $а == $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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...