Операторы
Операторы — это знаки, которые выполняют действия над значениями: складывают, сравнивают, объединяют условия. Результат работы оператора можно вывести или сохранить в переменную.
Что такое оператор
Оператор стоит между двумя значениями и возвращает результат. Самый простой пример — сложение:
<?php
echo 7 + 2; // 9Здесь + — оператор, а 7 и 2 — значения, над которыми он работает.
Арифметические операторы
| Оператор | Действие | Пример | Результат |
|---|---|---|---|
+ | Сложение | 7 + 2 | 9 |
- | Вычитание | 7 - 2 | 5 |
* | Умножение | 7 * 2 | 14 |
/ | Деление | 7 / 2 | 3.5 |
% | Остаток от деления | 7 % 2 | 1 |
** | Возведение в степень | 7 ** 2 | 49 |
Остаток от деления часто используют, чтобы проверить чётность: у чётного числа остаток от деления на 2 равен нулю.
<?php
echo 7 % 2; // 1Приоритет операций
Как и в математике, умножение и деление выполняются раньше сложения и вычитания:
<?php
echo 2 + 3 * 4; // 14Порядок меняют скобки:
<?php
echo (2 + 3) * 4; // 20Если сомневаетесь в порядке — ставьте скобки. Они не замедляют программу, а код становится понятнее.
Составное присваивание
Запись $total = $total + 5 можно сократить до $total += 5. Такие же сокращения есть для остальных операций, а ++ и -- меняют значение на единицу:
<?php
$total = 10;
$total += 5; // 15
$total *= 2; // 30
$total++; // 31
echo $total;Операторы сравнения
Сравнение всегда даёт логическое значение — true или false:
<?php
var_dump(5 > 3); // bool(true)
var_dump(5 <= 3); // bool(false)
var_dump(5 === 5); // bool(true)
var_dump(5 !== '5'); // bool(true)Оператор !== означает «не равно с учётом типа»: число 5 и строка '5' — разные значения.
Логические операторы
Логические операторы объединяют несколько условий: && — «и», || — «или», ! — «не».
<?php
$age = 20;
$hasTicket = true;
var_dump($age >= 18 && $hasTicket); // bool(true)
var_dump($age < 18 || !$hasTicket); // bool(false)Выражение с && истинно, только когда истинны обе части, а с || — когда истинна хотя бы одна.
Частая ошибка
Один знак = — это присваивание, а не сравнение. Запись $a = 5 кладёт число в переменную, а $a === 5 проверяет, равна ли она пяти. Перепутать их в условии — классическая ошибка, которую трудно заметить.