Операторы - 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.
for
в PHP для многократного выполнения блока кода.