Эта заметка посвящена операторам в 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. |
Оператор присвоения
Побитовые операторы
Побитовые операторы позволяют устанавливать конкретные биты в 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-коде, любые сообщения об ошибках, генерируемые этим выражением, будут проигнорированы.
Пример использования:
Операторы исполнения
$output
";
?>
Давайте разберемся, что делает этот код. Строка, заключенная в обратные кавычки (клавиша обычно находится ниже 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 есть два оператора для работы со строками. Первый — оператор конкатенации (‘.’), который возвращает объединение левого и правого аргумента. Второй — оператор присвоения с конкатенацией, который присоединяет правый аргумент к левому.
Операторы, работающие с массивами
Этим пользоваться крайне не рекомендую!
Пример | Название | Результат |
---|---|---|
$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. |
"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. Читаем и задаем вопросы по непонятным моментам. Если вопросы будут интересными и объемными — напишу отдельный пост с примерами.