Время чтения ~ 40 сек. / 68 просмотров / 0 комментариев / Январь 09, 2024, 14:30

В этом уроке вы узнаете об операторах в 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.

Теги:
php
Жонглирование типами (type juggling) - PHP
Операторы присваивания - PHP
Операторы присваивания - PHP
Январь 09, 2024, 22:29
В этом уроке вы узнаете о наиболее часто используемых операторах присваивания в PHP.
Комментарии в PHP
Декабрь 30, 2023, 23:53
В этом уроке вы узнаете, как использовать комментарии в PHP для документирования вашего кода.
Цикл for - PHP
Март 04, 2024, 17:51
В этом уроке вы узнаете об операторе for в PHP для многократного выполнения блока кода.
Оператор НЕ (NOT) - PHP
Январь 11, 2024, 17:05
В этом уроке вы узнаете, как использовать логический оператор отрицания НЕ (NOT) (!) в PHP для создания сложных логических выражений.
Переменные в PHP
Декабрь 30, 2023, 22:12
В этом уроке вы узнаете, как использовать переменные PHP для хранения данных в программах.