Операторы - PHP
В этом уроке вы узнаете об операторах в PHP и о том, как эффективно использовать их в своих скриптах.
Оператор принимает одно или несколько значений, называемых операндами, и выполняет над ними определенную операцию.
Например, оператор + складывает два числа и возвращает их сумму.
PHP поддерживает множество видов операторов:
- Арифметические операторы
- Операторы присваивания
- Побитовые операторы
- Операторы сравнения
- Операторы инкремента / декремента
- Логические операторы
- Операторы конкатенации
Арифметические операторы
Арифметические операторы требуют наличия числовых значений. Если вы применяете их к нечисловым значениям, они будут преобразованы в числовые перед выполнением арифметической операции.
Список арифметических операторов:
| Оператор | Имя | Описание |
|---|---|---|
| + | Сложение | Возвращает сумму двух операндов |
| - | Вычитание | Возвращает разницу между двумя операндами |
| * | Умножение | Возвращает произведение двух операндов |
| / | Деление | Возвращает частное двух операндов |
| % | Деление по модулю | Возвращает остаток от деления первого операнда на второй |
В следующем примере используются арифметические операторы:
<?php
$x = 20;
$y = 10;
// Демонстрация операторов сложения, вычитания и умножения
echo $x + $y . '<br/>'; // 30
echo $x - $y . '<br/>'; // 10
echo $x * $y . '<br/>'; // 200
// Демонстрация оператора деления
$z = $x / $y;
echo gettype($z) . '<br/>'; // integer
$z = $y / $x;
echo gettype($z) . '<br/>'; // double
// Демонстрация деления по модулю
$y = 15;
echo $x % $y . '<br/>'; // 5Операторы сравнения
Операторы сравнения позволяют сравнивать два операнда.
Оператор сравнения возвращает логическое значение: true или false. Если сравнение истинно, оператор вернет true, в противном случае - false.
Ниже приведен список операторов сравнения в PHP:
| Оператор | Имя | Описание |
|---|---|---|
| == | Равенство | Возвращает true, если оба операнда равны, в противном случае возвращает false. |
| === | Идентичность | Возвращает true, если оба операнда имеют одинаковый тип данных и равны, в противном случае возвращает false. |
| !=== | Не идентичность | Возвращает true, если оба операнда не равны или имеют разные типы данных, в противном случае возвращает false. |
| > | Больше чем | Возвращает true, если операнд слева больше операнда справа, в противном случае возвращает false. |
| >= | Больше или равно | Возвращает true, если операнд слева больше или равен операнду справа, в противном случае возвращает false. |
| < | Меньше чем | Возвращает true, если операнд слева меньше операнда справа, в противном случае возвращает false. |
| <= | Меньше или равно | Возвращает true, если операнд слева меньше или равен операнду справа, в противном случае возвращает false. |
Логические операторы
Логические операторы позволяют строить логические выражения. Логический оператор возвращает логическое (boolean) значение.
В PHP предоставляются следующие логические операторы:
| Оператор | Имя | Описание |
|---|---|---|
| && | Логическое И | Возвращает true, если оба операнда верны, в противном случае вернет false. Если оба операнда истинны, оператор возвращает true. Если первый операнд является ложным, второй операнд не вычисляется, поскольку уже ясно, что результат будет false. Это известно как "короткое замыкание". |
| || | Логическое ИЛИ | Возвращает true, если один из операндов истинен, в противном случае возвращает false. Если первый операнд истинен, второй операнд не вычисляется. |
| xor | Логическое исключающее ИЛИ | Возвращает true, если один из операндов, а не оба, истинен, в противном случае возвращает false. |
| ! | Отрицание | Возвращает true, если операнд имеет значение false, и возвращает false, если операнд имеет значение true. |
Побитовые операторы
Побитовые операторы выполняют операции над двоичным представлением операндов. Ниже приведены побитовые операторы в PHP:
| Оператор | Имя | Описание |
|---|---|---|
| $x & $y | И | Если оба бита равны 1, то соответствующий бит в результате будет 1; в противном случае, соответствующий бит будет 0. |
| $x | $y | Или | Если оба бита равны 0, то соответствующий бит в результате будет 0; в противном случае, соответствующий бит будет 1. |
| $x ^ $y | Исключающее или | Если хотя бы один из битов (но не оба) в $x и $y равен 1, то соответствующий бит в результате будет 1; в противном случае, соответствующий бит будет 0. |
| ~ $x | Отрицание | Измените бит с 1 на 0 и с 0 на 1 в операнде $x. |
| $x > $y | Сдвиг вправо | Сдвигает биты в $x вправо на количество позиций, указанное в $y. |
Операторы инкремента и декремента
Операторы инкремента (++) и декремента (–) позволяют быстро увеличить или уменьшить значение переменной на 1.
В следующей таблице показаны операторы увеличения и уменьшения:
| Пример | Имя | Возвращаемое значение | Влияние на $a |
|---|---|---|---|
| ++$a | Преинкремент | $a + 1 | Увеличивает $a на 1, затем возвращает $a. |
| $a++ | Постинкремент | $a | Возвращает $a, затем увеличивает $a на 1. |
| --$a | Предекремент | $a - 1 | Уменьшает $a на 1, затем возвращает $a. |
| $a-- | Постдекремент | $a | Возвращает $a, затем уменьшает $a на 1. |
Оператор конкатенации
Оператор конкатенации . позволяет объединить две строки в одну. Он добавляет вторую строку к первой и возвращает объединенную строку. Например:
<?php
$str = 'PHP' . ' это ' . ' круто!';
echo $str;Операторы присваивания
Оператор присваивания (=) присваивает значение переменной и возвращает его. Операнд слева всегда является переменной, в то время как операнд справа может быть литеральным значением, переменной, выражением или вызовом функции, возвращающей значение. Например:
<?php
$x = 10;
$y = $x;
$z = ($x = 20); // $z = 20В первом выражении мы присвоили переменной $x значение 10. Во втором выражении мы присвоили значение $x переменной $y. Третье выражение немного сложнее. Сначала мы присвоили 20 переменной $x. Оператор присваивания (=) возвращает 20, и затем это значение присваивается переменной $z.
Помимо основного оператора присваивания (=), PHP предоставляет несколько операторов присваивания:
- плюс-равно
+= - минус-равно
-= - умножение-равно
*= - деление-равно
/= - модуль-равно
%= - исключающее ИЛИ-равно
^= - И-равно
&= - ИЛИ-равно
|= - конкатенация-равно
.=
Приоритет операторов в PHP
Приоритет оператора определяет порядок, в котором оператор вычисляется в выражении.
PHP присваивает каждому оператору приоритет. У некоторых операторов приоритет одинаковый, например, у операторов сложения (+) и вычитания (-).
Однако у некоторых операторов приоритет выше, чем у других.
Например, приоритет оператора умножения (*) выше, чем у операторов сложения (+) и вычитания (-):
<?php
echo 4 + 5 * 3; // 19Поскольку приоритет оператора умножения (*) выше, чем у оператора сложения (+), PHP сначала вычисляет оператор умножения (*), а затем оператор сложения (+).
Чтобы принудительно выполнить вычисление в определенном порядке, поместите выражение в круглые скобки (), например:
<?php
echo (4 + 5) * 3; // 27В этом уроке вы кратко познакомились с наиболее часто используемыми операторами PHP.
if...else в PHP, которая выполняет блок кода, когда условие истинно, и другой блок кода, когда условие ложно. for в PHP для многократного выполнения блока кода.