Время чтения ~ 40 сек. / 32 просмотра / 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
Конструкция if else - PHP
Январь 13, 2024, 16:37
В этом уроке вы узнаете о конструкции if...else в PHP, которая выполняет блок кода, когда условие истинно, и другой блок кода, когда условие ложно.
Установка PHP
Декабрь 26, 2023, 22:22
В этом уроке вы узнаете, как установить PHP на свой компьютер локально, чтобы начать изучать PHP.
Конструкция switch - PHP
Январь 14, 2024, 20:52
В этом уроке вы узнаете о конструкции switch в PHP, который выполняет блок кода, сопоставляя выражение с несколькими значениями.
Приведение типов - PHP
Январь 07, 2024, 21:16
В этом уроке вы узнаете о приведении типов в PHP, которое позволяет преобразовывать значение одного типа в другой.
Конструкция if elseif - PHP
Январь 13, 2024, 18:40
В этом уроке вы узнаете о конструкции if elseif в PHP, которая позволяет выполнять блоки кода в зависимости от нескольких логических выражений.