Операторы в 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 позволяют удалять как каталоги, так и

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

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

Web-Дизайн
help2site
Web-сервер

Постоянно подключенные к Интернету по всему миру компьютеры, на которых располагаются сайты, называются серверами (от английского serve –– служить, обслуживать). Программное обеспечение, которое обеспечивает отправку

Интернет
help2site
Купить планшет за границей

Заказать планшет IPAd Купить планшет за границей стало намного проще и безопаснее, сегодня я хочу рассказать вам, как это можно осуществить. Сами понимаете, что в интернете

Web-Дизайн
help2site
Как пишутся скрипты на PHP

Для написания кода на PHP подходит любой текстовый редактор (например Notepad++). Оглавление Размещение PHP на HTML-странице Код скрипта PHP может размещаться непосредственно на HTML-странице. Чтобы

Linux
help2site
Перезапуск сервера Apache

Бывает что возникают ситуации при которых нужно перезагрузить Apache, при этом не обязательно перезагружать весь сервер целиком. Для того, чтобы перезагрузить сервера Apache нужно: Подключиться

Настройка
help2site
Подключить Wi-Fi дома

Сегодня большинство современных квартир и домов оснащено беспроводным Wi-Fi, что позволяет свободно выходить в интернет всем компьютерам и мобильным гаджетам. Если же у вас пока