Операторы в PHP. Приоритет выполнения операторов.

Эта заметка посвящена операторам в PHP. В ней я расскажу вам какие бывают виды операторов, и как обычно рассмотрим их использование на примере PHP. Тема операторы PHP является основополагающей и к ее изучению следует подойти серьезно. Поехали!

Оглавление

Что такое оператор в языке программирования

Открыл для себя отличный сайт для поиска определений понятий — glossary.ru. Снова обратимся к нему за помощью:

Оператор — в программировании — фраза алгоритмического языка, определяющая законченный этап обработки данных. В состав операторов входят ключевые слова, данные, выражения и др.
Различают:

  • атомарные операторы, никакая часть которых не является самостоятельным оператором;
  • структурные операторы, объединяющие другие операторы в новый, укрупненный оператор.

Виды операторов в PHP

Здесь большей частью будет использован материал из мануала по PHP, так как сложно изобрести что-то новое. Те, кто уже читал это в мануале — смело пропускаем пост. Здесь нет ничего сложного.

В PHP выделяют несколько видов операторов:

  • Арифметические операторы
  • Оператор присвоения
  • Побитовые операторы
  • Операторы сравнения
  • Оператор управления ошибками
  • Операторы исполнения
  • Операторы инкремента и декремента
  • Логические операторы
  • Строковые операторы
  • Операторы, работающие с массивами
  • Оператор проверки принадлежности к классу

Давайте познакомимся с каждым из этих видов.

Арифметические операторы

ПримерНазваниеРезультат
-$aОтрицаниеСмена знака $a.
$a + $bСложениеСумма $a и $b.
$a — $bВычитаниеРазность $a и $b.
$a * $bУмножениеПроизведение $a и $b.
$a / $bДелениеЧастное от деления $a на $b.
$a % $bДеление по модулюЦелочисленный остаток от деления $a на $b.

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

Разберем на примере:
				
					<?php
 $a = 5;
?>
				
			
В этом выражении переменной $a присваивается значение 5.

Побитовые операторы

Побитовые операторы позволяют устанавливать конкретные биты в 0 или 1 для целочисленных значений. В случае если и левый, и правый операнды строки, побитовые операции будут работать с их ASCII-представлениями.

ПримерНазваниеРезультат
$a & $bПобитовое ‘и’Устанавливаются только те биты, которые установлены и в $a, и в $b.
$a | $bПобитовое ‘или’Устанавливаются те биты, которые установлены либо в $a, либо в $b.
$a ^ $bИсключающее илиУстанавливаются только те биты, которые установлены либо только в $a, либо только в $b
~ $aОтрицаниеУстанавливаются те биты, которые в $a не установлены, и наоборот.
$a << $bСдвиг влевоВсе биты переменной $a сдвигаються на $b позиций влево (каждая позиция подразумевает ‘умножение на 2’)
$a >> $bСдвиг вправоВсе биты переменной $a сдвигаються на $b позиций вправо (каждая позиция подразумевает ‘деление на 2’)

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

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

ПримерНазваниеРезультат
$a == $bРавноTRUE если $a равно $b.
$a ===$bТождественно равноTRUE если $a равно $b и имеет тот же тип. (Добавлено в PHP 4)
$a != $bНе равноTRUE если $a не равно $b.
$a <> $bНе равноTRUE если $a не равно $b.
$a !== $bТождественно не равноTRUE если $a не равно $b или в случае, если они разных типов (Добавлено в PHP 4)
$a < $bМеньшеTRUE если $a строго меньше $b.
$a > $bБольшеTRUE если $a строго больше $b.
$a <= $bМеньше или равноTRUE если $a is меньше или равно $b.
$a >= $bБольше или равноTRUE если $a больше или равно $b.

Оператор управления ошибками

PHP поддерживает один оператор управления ошибками: знак @. В случае, если он предшествует какому-либо выражению в PHP-коде, любые сообщения об ошибках, генерируемые этим выражением, будут проигнорированы.

Пример использования:

				
					<?php
  
 $myFile = @file_get_content('not_existen_file') or
 die("Ошибка при открытии файла");
?>
				
			

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

PHP поддерживает один оператор исполнения: обратные кавычки («). Обратите внимание, что это не одиночные кавычки. PHP пытается выполнить строку, заключенную в обратные кавычки, как консольную команду, и возвращает полученный вывод (т.е. он не просто выдается на выходе а, например, может быть присвоен переменной).
				
					<?php
 // Команда в unix подобных ОС, выводящая список файлов и директорий
 $output = `ls -al`;
  
 // Выводим на экран то, что вернула команда ls
 echo "<pre>$output</pre>";
?>
				
			

Давайте разберемся, что делает этот код. Строка, заключенная в обратные кавычки (клавиша обычно находится ниже Escape), выполняется как консольная команда. Чтобы лучше представить, что это такое обратимся к командной строке Windows.

Нажимаем кнопку Пуск -> Выполнить. Всплывает окно «Запуск программы«. Вводим тамcmd. Открывается черное окно с коммандной строкой Windows. Здесь можно выполнить произвольные комманды.

В примере рассмативается команда ls (list — или по-русски — список). Эта комманда используется в Linux и служит для вывода списка файлов в текущей директории.

Под Windows ее аналогом является команда dir (директория). Чтобы посмотреть список файлов в текущей директории набираем dir и нажимает клавишу Enter. Результат выполнения — список файлов и вложенных каталогов:

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

ПримерНазваниеДействие
++$aПрефиксный инкрементУвеличивает $a на единицу и возвращает значение $a.
$a++Постфиксный инкрементВозвращает значение $a, а затем увеличивает $a на единицу.
—$aПрефиксный декрементУменьшает $a на единицу и возвращает значение $a.
$a—Постфиксный декрементВозвращает значение $a, а затем уменьшает $a на единицу.

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

ПримерНазваниеРезультат
$a and $bЛогическое ‘и’TRUE если и $a, и $b TRUE.
$a or $bЛогическое ‘или’TRUE если или $a, или $b TRUE.
$a xor $bИсключающее ‘или’TRUE если $a, или $b TRUE, но не оба.
! $aОтрицаниеTRUE если $a не TRUE.
$a && $bЛогическое ‘и’TRUE если и $a, и $b TRUE.
$a || $bЛогическое ‘или’TRUE если или $a, или $b TRUE.

Строковые операторы

В PHP есть два оператора для работы со строками. Первый — оператор конкатенации (‘.’), который возвращает объединение левого и правого аргумента. Второй — оператор присвоения с конкатенацией, который присоединяет правый аргумент к левому.

				
					<?php
 $a = "Hello ";
 $b = $a . "World!"; // $b содержит строку "Hello World!"
  
 $a = "Hello ";
 $a .= "World!"; // $a содержит строку "Hello World!"
?>
				
			

Операторы, работающие с массивами

Этим пользоваться крайне не рекомендую!

ПримерНазваниеРезультат
$a + $bОбъединениеОбъединение массива $a и массива $b.
$a == $bРавноTRUE в случае, если $a и $b содержат одни и те же элементы.
$a === $bТождественно равноTRUE в случае, если $a и $b содержат одни и те же элементы в том же самом порядке.
$a != $bНе равноTRUE если массив $a не равен массиву $b.
$a <> $bНе равноTRUE если массив $a не равен массиву $b.
$a !== $bТождественно не равноTRUE если массив $a не равен тождественно массиву $b.
				
					<?php
 $a = array("a" => "apple", "b" => "banana");
 $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
  
 $c = $a + $b; // Объеденение $a и $b
 echo "Union of $a and $b: ";
 var_dump($c);
  
 $c = $b + $a; // Объединение $b и $a
 echo "Union of $b and $a: ";
 var_dump($c);
?>
				
			

Оператор проверки принадлежности к классу

Оператор instanceof используется для определения того, является ли текущий объект экземпляром указанного класса. С классами мы познакомимся позже, пока не забиваем этим голову.

				
					<?php
 class A { }
 class B { }
  
 $thing = new A;
  
 if ($thing instanceof A) {
 echo 'A';
 }
 if ($thing instanceof B) {
 echo 'B';
 }
?>
				
			

Как я уже сказал, это справочная информация из мануала по PHP. Читаем и задаем вопросы по непонятным моментам. Если вопросы будут интересными и объемными — напишу отдельный пост с примерами.

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

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

Web-Дизайн
help2site
Защита от спама для любого сайта (JavaScript)

Cегодня мы поговорим про насущную проблему «СПАМ».  Способ решения данной проблемы позволит избавиться от спама на форме обратной связи, спам на комментарии или же спам на заказы в интернет магазине. Хотелось

Оборудование
help2site
Почему принтер не печатает? Выясняем причины

Оглавление Что делать, если принтер отказывается нормально печатать Это, как правило, случается в самое неподходящее время — когда вам срочно нужен важный документ, а принтер

Web-Дизайн
help2site
Файл robots.txt., who you are?

Оглавление Файл robots.txt и его написание. Файл robots.txt необходим для любого вэб-ресурса, так как с его помощью осуществляется управление над всеми поисковыми системами (роботами), в чем,

Программы
help2site
Opera mini для ipad

Opera Mini – программное обеспечение, точнее самый известный среди Браузеров для ipad 5 в мире. Аналогичными браузерами opera мини являются всем известные Mozilla Firefox на

Программы
help2site
Как перенести чаты WhatsApp

Сегодня хотим рассказать, как же перенести все чаты в WhatsApp и не потерять истории переписок? Перенос истории чатов на новый Android простое дело. Есть возможность