Операторы PHP

php

Операторы позволяют выполнять различные действия с переменными, константами и выражениями.

Специальные операторы присваивания

Наряду с обычным оператором присваивания в PHP существуют комбинированные операторы, которые позволяют использовать значение переменной в выражении и сохранить результат в этой же самой переменной. При этом операцию присваивания записывают так:

+= (сложение)

–= (вычитание)

*= (умножение)

/= (деление)

.= ()

%= (остаток от деления)

&= ()

|= ()

^= ()

<= ()

>= ()

 

Например, требуется прибавить 10 к значению переменной $value. Обычный оператор присваивания записывается так:

 $value = $value + 10; 

С использованием оператора присваивания += то же самое можно записать короче:

 $value += 10; 

 

Увеличение и уменьшение

Во многих случаях требуется увеличить или уменьшить значение некоторой переменной на единицу. Особенно часто это используется в циклах. В РНР для этого предусмотрены специальные операторы присваивания.

Для увеличения значения на единицу записываем ++,

для уменьшения записываем – –.

Например, если переменная $value содержит значение 0, то после выполнения оператора $value++ ее значение станет равным 1. Если переменная $value содержит значение 11, то после выполнения оператора Svalue– – ее значение станет равным 10.

Операции ++ и – – могут быть записаны как до, так и после имени переменной. Если используется запись ++$value, то значение переменной увеличивается, и это же значение используется как результат вычисления данного выражения. При использовании записи $value++, результатом вычисления выражения становится значение переменной до ее увеличения.

 

Условный оператор IF

Как и во всех высокоуровневых языках программирования, в РНР имеется условный оператор if:

 

if (expression) statement 

Здесь expression — логическое выражение, которое может быть истинным или ложным. Оператор statement выполняется, когда выражение expression истинно и не выполняется когда оно ложно.

Часто необходимо, чтобы при выполнении определенного условия выполнялось бы сразу несколько операторов. Для этой цели в РНР предусмотрен составной оператор, который содержит произвольное количество операторов, заключенных в фигурные скобки:

 

 if (expression) { statement1; statement2; … } 

 

Зачастую возникает необходимость в случае истинности определенного условия выполнить какое-либо одно действие, а в противном случае — другое. Для этого используется оператор

 

if (expression) statement1 else statement2 

 

Оператор statement2, следующий после служебного слова е1se, выполняется в том случае, если условие expression не подтверждается.

Оператор if имеет еще одно расширение, которое используется для последовательной проверки нескольких условий, при этом используется ключевое слово elseif:


if (expressionl)
statementl
elseif (expression2)
statement2
elseif (expression3)
statement3
else
statement4

Если условие expressionl истинно, то выполняется оператор statementl. В противном случае проверяется условие expression2, и если оно истинно, выполняется оператор statement2 и т. д. Это удобно, если существует множество сложных условий, которые требуется проверить.

 

Оператор SWITCH

При проверке большого количества условий даже использование оператора if … elseif может стать утомительным. В таких случаях на помощь приходит оператор switch, предназначенный для сравнения заданного выражения с различными вариантами значений некоторой переменной.

Оператор начинается с ключевого слова switch, за которым в скобках записывается некоторое выражение. Далее после ключевого слова case перечисляются возможные варианты значений этого выражения. В случае совпадения результата вычисления выражения с каким-либо значением, выполняются операторы, записанные ниже, вплоть до оператора break. Если результат вычисления выражение не совпал ни с одним из значений, заданных после case, выполняются операторы, расположенные после ключевого слово default. Впрочем, секция default может и отсутствовать, тогда в таком случае никаких действий не выполняется.

Ниже приведен пример использования оператора switch для анализа температуры.

1_31

В результате выполнения этого примера на экран будет выведена строка

Приятная погода

(Проверить)

Следует иметь в виду, что после case могут располагаться только значения целого, вещественного или строкового типов.

 

Циклы FOR

Повторяющиеся действия записываются при помощи циклов.

Циклы for предназначены для повторения выполнения некоторого оператора (который может быть и составным). Синтаксис цикла for приведен ниже:

 

 for (expressionl; expression2; expression3) statement 

 

В выражении expressionl производятся начальные действия, чаще всего это присваивание начального значения некоторой переменной (параметру цикла). В таком случае параметр цикла используется для подсчета количества раз исполнения оператора statement (тела цикла). Выражение expressionl выполняется однократно перед выполнением собственно цикла.

Следующее логическое выражение, expression2, задает условие повторения цикла. Цикл продолжает выполняться до тех пор, пока это выражение остается истинным. Первый раз условие проверяется до выполнения оператора statement, так что если условие цикла будет ложным с самого начала, тело цикла не будет исполнено не разу. Обычно условие используется для проверки текущего значения параметра цикла.

Наконец, третье выражение expression3, выполняется каждый раз после тела цикла. Обычно оно используется для изменения (например, увеличения) параметра цикла.

Пример. Найти сумму чисел 1, 2, 3, 4, 5.

1_32

1_33

Пример. Четные цифры можно вывести с использованием цикла for таким образом:


<?php

for ($i = 0; $i < 10; $i++) {

if ($i % 2 == 0) echo $i;

}

?>

Циклы while

Цикл while проверяется некоторое условие и выполняется до тех пор, пока оно остается истинным.

 

 while (expression) statement 

 

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

 

Пример. Найти сумму чисел 1, 2, 3, 4, 5.

1_34

 

Циклы dowhile

Наряду с циклами while в PHP имеются и циклы do … while. Основное их отличие состоит в том, что условие цикла проверяется не до, а после того как тело цикла будет выполнено:


do

statement

while (condition)

Пример. Найти сумму чисел 1, 2, 3, 4, 5.

1_35

 

Циклы foreach

Для упрощения обработки массивов предусмотрен специальный тип цикла — оператор foreach. Массивы будут рассматриваться более подробно в следующих лекциях, а здесь они будут лишь бегло упомянуты.

Массивы состоят из отдельных элементов, и цикл foreасh предназначен для перебора всех этих элементов. Ниже приведены варианты синтаксиса этого оператора:


foreach (array as $value) statement

foreach (array as $key => $value) statement

Оператор break

Иногда требуется прервать выполнение тела оператора for, foreach, while, do. . .while или switch. Этого можно достичь при помощи оператора break.

Он уже встречался ранее при рассмотрении оператора switch — там он использовался для завершения обработки определенного значения температуры. При помощи оператора break можно также досрочно прервать выполнение любого цикла.

Оператор continue

Наконец, предусмотрена возможность досрочного перехода к началу цикла, не выполняя все тело цикла целиком. Для этого используется оператор continue.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *