Операторы 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 может и отсутствовать, тогда в таком случае никаких действий не выполняется.

В следующем коде можно увидеть, как одну и ту же задачу можно решить с помощью if и switch:

				
					<?php
    $status = 2; // Номер статуса заказа

    if($status == 1)
        echo 'Статус: Обрабатывается';
    elseif($status == 2)
        echo 'Статус: Передан в доставку';
    elseif($status == 3)
        echo 'Статус: Выполнен';
    else
        echo 'Статус: Неизвестен';

    // Аналогичный код для switch
    switch($status)
    {
        case 1:
            echo 'Статус: Обрабатывается';
            break;
        case 2:
            echo 'Статус: Передан в доставку';
            break;
        case 3:
            echo 'Статус: Выполнен';
            break;
        default:
            echo 'Статус: Неизвестен';
    }
?>
				
			

Циклы FOR

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

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

				
					for (expressionl; expression2; expression3) statement
				
			

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

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

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

Рассмотрим случай, когда нужно вывести на экран числа от 1 до 10 через запятую. Ниже приведен код:

				
					for($i=1;$i<=10;$i++)
print $i.',';
				
			

Или с фигурной скобкой:

				
					for($i=1;$i<=10;$i++)
{
print $i.',';
}
				
			

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

				
					<?php
 
for ($i = 0; $i < 10; $i++) {
 
if ($i % 2 == 0) echo $i;
 
}
 
?>
				
			

Циклы while

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

				
					while (expression) statement 
				
			

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

Пример: вывести числа от 0 до 10

				
					<?php

$i = 0;

while ($i <= 10) {
    echo $i++;
    echo '<br>';
}
				
			

Циклы do … while

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

				
					do
 
statement
 
while (condition)
				
			

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

				
					$cookies = 0;
while($cookies > 1){
	echo "Мммм! Люблю печеньки! *ом-ном-ном*";
} 
				
			

В результате мы не увидим ничего, так как переменная $cookies равна нулю и условие $cookies > 1 не сработает, следовательно цикл не выполнится. Теперь давайте сделаем то же самое, но с циклом do while:

				
					$cookies = 0;
do {
	echo "Мммм! Люблю печеньки! *ом-ном-ном*";
} while ($cookies > 1);
				
			

В результате:

Мммм! Люблю печеньки! *ом-ном-ном*

Циклы 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.

Свежие записи
Команда RD

Команда RD и RMDIR позволяют удалять как каталоги, так и

Настройка
help2site
Команда MD

Команда md позволяет создавать каталог или промежуточные каталоги в указанном пути. Команда md выполняет ту же функцию что и команда mkdir, поэтому речь пойдет об

Программы
help2site
Факты про компьютерные вирусы

Самым первым компьютерным вирусом был Creeper, обнаруженный в компьютерной сети ARPANET, предшественницы Интернета в начале 1970-ых годов. Это была экспериментальная самоперемещающаяся программа, написанная в 1971

Игры
help2site
Играть бесплатно в игры Gaminator

Сегодня игровые автоматы гаминатор уже успели зарекомендовать себя среди любителей азартных игр и онлайн развлечений. Известнейшая компания Новоматик производитель большинства увлекательных игр с потрясающей графикой,