Операторы в 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. Результат выполнения — список файлов и вложенных каталогов:

Сервера, Web и не только

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

ПримерНазваниеДействие
++$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 позволяют удалять как каталоги, так и

Оборудование
help2site
Принт-сервер на Sagemcom 2804

Небольшой совет у кого не получается настроить…. сначала подключите принтер к компьютеру по usb, установите драйвера, распечатайте пробную страницу… это для того чтобы драйвер вашего

iOS
help2site
Программы для ipad 5

Любое устройство предназначено для работы с ним, но не каждое из них оснащено программным обеспечение после покупки, так это например iPad 5. Но это не

Диагностика
help2site
Защита смартфона

Уже давно принято считать, влияние вирусов или вредоносных программ, неизбежной частью жизни при использовании персональных компьютеров. Как насчет мобильного телефона? Хотя, не все вирусы или

Web-Дизайн
help2site
Скользящие кнопки социальных сетей для сайта

Кнопки социальных сетей для сайта. Полагаю, что большинство читателей понимают, какое значение имеют кнопки соц сетей для сайта: кнопки социальных сетей – это часть внутренней

Web-Дизайн
help2site
Анализ контента вэб-ресурса (инструменты)

Анализ контента сайта – это своеобразный сервис с набором инструментов, с помощью которых проводится качественный анализ текстового контента, находящегося на вэб-ресурсе, его оценка. То есть,