Перейти к основному содержимому

Операторы PHP

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

Операторы PHP делятся на следующие группы:

  • Арифметические операторы
  • Операторы присваивания
  • Операторы сравнения
  • Операторы инкремента/декремента
  • Логические операторы
  • Строковые операторы
  • Операторы массивов
  • Операторы условного присваивания

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

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

В списке ниже показан каждый из них и то, что он даёт:

  • + Сложение — сумма $x и $y
  • - Вычитание — $y, вычтенное из $x
  • * Умножение — $x, умноженное на $y
  • / Деление — $x, делённое на $y
  • % Остаток от деления — то, что остаётся после деления $x на $y
  • ** Возведение в степень — $x в степени $y

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

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

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

  • x = y означает, что x получает значение y, без всякого сокращения
  • x += y делает то же самое, что x = x + y
  • x -= y делает то же самое, что x = x - y
  • x *= y делает то же самое, что x = x * y
  • x /= y делает то же самое, что x = x / y
  • x %= y делает то же самое, что x = x % y

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

Операторы сравнения рассматривают два значения, числа или строки, и сообщают, как они соотносятся.

  • == Равно — даёт true, когда $x и $y имеют одинаковое значение
  • === Тождественно — даёт true, только когда $x и $y имеют одинаковое значение и одинаковый тип
  • != Не равно — даёт true, когда значения $x и $y различаются
  • <> Не равно — другой способ записи != с тем же результатом
  • !== Не тождественно — даёт true, когда $x и $y различаются по значению или по типу
  • > Больше — даёт true, когда $x больше $y
  • < Меньше — даёт true, когда $x меньше $y
  • >= Больше или равно — даёт true, когда $x больше $y или они равны
  • <= Меньше или равно — даёт true, когда $x меньше $y или они равны
  • <=> Spaceship — даёт целое число: меньше нуля, когда $x меньшее значение, ноль, когда они равны, и больше нуля, когда $x большее значение

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

Операторы инкремента увеличивают значение переменной на единицу, а операторы декремента уменьшают его на единицу. Важно, где стоит оператор: перед переменной изменение происходит до возврата значения, а после неё — уже потом.

  • ++$x Префиксный инкремент — сначала прибавляет единицу к $x, затем возвращает новое значение
  • $x++ Постфиксный инкремент — возвращает текущее значение $x, затем прибавляет единицу
  • --$x Префиксный декремент — сначала вычитает единицу из $x, затем возвращает новое значение
  • $x-- Постфиксный декремент — возвращает текущее значение $x, затем вычитает единицу

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

Логические операторы позволяют объединять условия в одну проверку.

  • and — истина, когда выполняются оба условия
  • or — истина, когда выполняется хотя бы одно условие
  • xor — истина, когда выполняется ровно одно условие, но не оба
  • && — истина, когда выполняются оба условия (то же, что and)
  • || — истина, когда выполняется хотя бы одно условие (то же, что or)
  • ! — истина, когда условие ложно

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

Есть два оператора специально для работы со строками.

  • . Конкатенация — соединяет две строки в одну
  • .= Присваивание с конкатенацией — добавляет одну строку в конец другой

Конкатенация строк

Здесь оператор . соединяет $txt1 и $txt2, а echo выводит объединённый текст:

Prompt
Напишите PHP-скрипт, который создаёт две строковые переменные и с помощью оператора точки объединяет их, а затем выводит результат.
Вывод: PHP-скрипт

Присваивание с конкатенацией строк

Здесь .= добавляет ещё текст в конец $txt1, изменяя саму переменную:

Prompt
Напишите PHP-скрипт, который создаёт строковую переменную, затем с помощью оператора .= добавляет к ней другую строку и выводит результат.
Вывод: PHP-скрипт

Операторы массивов PHP

Эти операторы работают с массивами целиком, чаще всего чтобы сравнить один с другим.

  • + Объединение — объединяет $x и $y
  • == Равенство — даёт true, когда оба массива содержат одинаковые пары ключ/значение
  • === Тождественность — даёт true, когда оба массива содержат одинаковые пары ключ/значение в том же порядке и с теми же типами
  • != Неравенство — даёт true, когда $x и $y не равны
  • <> Неравенство — другой способ записи != с тем же результатом
  • !== Нетождественность — даёт true, когда $x и $y не тождественны

Операторы условного присваивания PHP

Операторы условного присваивания выбирают значение в зависимости от условия.

  • ?: Тернарный — в $x = expr1 ? expr2 : expr3 переменная $x получает expr2, когда expr1 истинно, и expr3, когда оно ложно
  • ?? Объединение с null — в $x = expr1 ?? expr2 переменная $x получает expr1, если оно существует и не равно NULL; если оно отсутствует или равно NULL, $x получает expr2

Тернарный оператор

Условие здесь проверяет, делится ли $x на 2 без остатка. Делится, поэтому тернарный оператор выбирает своё первое значение, «Чётное»:

Prompt
Напишите PHP-скрипт, который с помощью тернарного оператора проверяет, является ли переменная чётной или нечётной, а затем выводит результат.
Вывод: PHP-скрипт

Оператор объединения с null

?? возвращает первый операнд, когда он существует и не равен NULL, а иначе — второй. Поскольку $color здесь не существует, результатом становится запасное значение «red»:

Prompt
Напишите PHP-скрипт, который с помощью оператора объединения с null задаёт значение по умолчанию для несуществующей переменной, а затем выводит результат.
Вывод: PHP-скрипт