Операторы PHP
Оператор — это специальный символ, который выполняет действие над переменными и значениями, например складывает два числа или сравнивает их.
Операторы PHP делятся на следующие группы:
- Арифметические операторы
- Операторы присваивания
- Операторы сравнения
- Операторы инкремента/декремента
- Логические операторы
- Строковые операторы
- Операторы массивов
- Операторы условного присваивания
Арифметические операторы PHP
Это операторы, знакомые вам с уроков математики. Они работают с числовыми значениями и выполняют обычные вычисления, такие как сложение, вычитание и умножение.
В списке ниже показан каждый из них и то, что он даёт:
+Сложение — сумма$xи$y-Вычитание —$y, вычтенное из$x*Умножение —$x, умноженное на$y/Деление —$x, делённое на$y%Остаток от деления — то, что остаётся после деления$xна$y**Возведение в степень —$xв степени$y
Операторы присваивания PHP
Оператор присваивания записывает значение в переменную, а те, что показаны ниже, используются с числовыми значениями.
Самый простой из них — =, он присваивает переменной слева от себя значение выражения справа. Остальные — это сокращения, которые выполняют вычисление и сохраняют результат за один шаг:
x = yозначает, чтоxполучает значениеy, без всякого сокращенияx += yделает то же самое, чтоx = x + yx -= yделает то же самое, чтоx = x - yx *= yделает то же самое, чтоx = x * yx /= yделает то же самое, чтоx = x / yx %= 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 выводит объединённый текст:
Вывод: PHP-скрипт
<?php
$txt1 = "Hello";
$txt2 = " World!";
echo $txt1 . $txt2;
?>
Присваивание с конкатенацией строк
Здесь .= добавляет ещё текст в конец $txt1, изменяя саму переменную:
Вывод: PHP-скрипт
<?php
$txt1 = "Hello";
$txt1 .= " World!";
echo $txt1;
?>
Операторы массивов 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 без остатка. Делится, поэтому тернарный оператор выбирает своё первое значение, «Чётное»:
Вывод: PHP-скрипт
<?php
$x = 10;
echo ($x % 2 == 0) ? "Чётное" : "Нечётное";
?>
Оператор объединения с null
?? возвращает первый операнд, когда он существует и не равен NULL, а иначе — второй. Поскольку $color здесь не существует, результатом становится запасное значение «red»:
Вывод: PHP-скрипт
<?php
// переменная $color не существует
$color = $color ?? "red";
echo $color;
?>