PHP Учебник

PHP Старт Введение в PHP Установка PHP Синтаксис PHP Комментарии в PHP Переменные PHP PHP Echo / Print Типы данных PHP Строки PHP Числа PHP Математика в PHP Константы PHP Операторы PHP PHP If...Else...Elseif PHP Switch Циклы в PHP Функции PHP Массивы PHP PHP Суперглобальные PHP RegEx

PHP Формы

Обработка форм PHP Валидация форм PHP Обязательные поля Валидация URL/E-mail Полная форма PHP

PHP Продвинутый

PHP Дата и время PHP Include/Require PHP Работа с файлами Открытие/Чтение файлов Создание/Запись файлов PHP Загрузка файлов Файлы cookie PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP Функция Callback PHP JSON PHP Исключения

PHP OOP

Что такое ООП в PHP Классы/Объекты PHP Цепочки методов PHP Конструктор PHP Деструктор PHP Модификаторы доступа Наследование в PHP Константы класса PHP Подсказка типов PHP Подсказка интерфейсов Абстрактные классы PHP PHP Интерфейсы PHP Полиформизм PHP Трейты Статические методы PHP Статические свойства PHP Пространства имен PHP Итерируемые объекты

База данных MySQL

База данных MySQL Подключение к MySQL Создание БД MySQL Создание таблицы MySQL Вставка данных MySQL Получить ID MySQL Подготовленные операторы PHP MySQL Получение данных MySQL Предложение WHERE Предложение ORDER BY Обновление данных MySQL Удаление данных БД MySQL Limit Data

PHP XML

Парсеры PHP XML Парсер PHP SimpleXML Получить PHP SimpleXML PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База Данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры Практика ООП PHP PHP квиз-тест Упражнения Базовый PHP Упражнения Алгоритмы Упражнения Массивы Упражнения Цикл for Упражнения Функции Регулярные выражения Упражнения Дата PHP Упражнения Строки PHP Математика PHP Упражнения Формы PHP Упражнения Классы PHP Упражнения JSON PHP PHP Задачник


Операторы PHP




Операторы в PHP позволяют нам выполнять задачи с переменными и значениями, такими как присваивание, умножение, сложение, вычитание и объединение. Операторы принимают форму символов (например, + и -) и комбинаций символов (например, ++ и +=).

Операторы в PHP работают с операндами, которые определяют переменные и значения, которые должны использоваться в конкретной операции. Число и расположение этих операндов по отношению к операторам (т.е. до и / или после оператора) зависит от типа рассматриваемого оператора.


Арифметические операторы используются для выполнения простых математических операций, таких как сложение, вычитание, умножение и т.д. Ниже приводится список арифметических операторов вместе с синтаксисом и операциями, которые предоставляет нам PHP:

Оператор название Синтаксис Операция
+ Сложение $x + $y Сложение операндов
- Вычитание $x - $y Вычитание операндов
* Умножение $x * $y Произведение операндов
/ Деление $x / $y Частное операндов
** Возведение в степень $x ** $y $x возведен в степень $y
% Модуль $x % $y Остаток от деления операндов

Арифметические операторы работают с двумя операндами, один слева, а другой справа от оператора. Например:

<?php
$x = 29;
$y = 4;

echo ($x + $y), "<br>"; // выведет 33
echo($x - $y), "<br>"; // выведет 25
echo($x * $y), "<br>"; // выведет 116
echo($x / $y), "<br>"; // выведет 7.25
echo($x % $y), "<br>"; // выведет 1
?>

Логические операторы в основном они используются для работы с условными операторами и выражениями. Условные утверждения основаны на условиях. Кроме того, условие может быть выполнено или не может быть выполнено, поэтому результат условного оператора может быть истинным (true) или ложным (false). Вот логические операторы вместе с синтаксисом и операциями, которые предоставляет нам PHP:

Оператор название Синтаксис Операция Пример
and Логическое И $x and $y TRUE, если оба операнда TRUE, иначе FALSE Пример »
or Логическое ИЛИ $x or $y TRUE, если любой из операндов TRUE, иначе FALSE Пример »
xor Логический XOR $x xor $y TRUE, если один из операндов TRUE, и FALSE, если оба TRUE Пример »
&& Логическое И $x && $y TRUE, если оба операнда TRUE, иначе FALSE Пример »
|| Логическое ИЛИ $x || $y TRUE, если любой из операндов TRUE, иначе FALSE Пример »
! Логическое НЕ !$x TRUE, если $x FALSE Пример »

Первый шаг к пониманию того, как работают логические операторы — это составить предложение, а не сразу смотреть на пример сценария. Предположим, нам нужно проверить некоторые аспекты двух переменных с именами $x и $y. Наше предложение может выглядеть так:

Если $x меньше 25 И $y больше 45, то PHP должен отобразить некоторое сообщение.

Здесь логический оператор — это часть предложения «И». Если бы мы выразили это на языке PHP, мы бы использовали описанные ранее операторы сравнения вместе с логическим оператором &&:

if (($x < 25) && ($y > 45))
echo 'Наше выражение истинно';

Точно так же, составим следующее предложение:

Если $x меньше 25 ИЛИ $y больше 45, отобразить сообщение.

Затем мы заменим «ИЛИ» на эквивалент PHP ||:

if (($x < 25) || ($y > 45))
echo 'Наше выражение истинно';

Следующий полезный логический оператор — это исключающее ИЛИ оператор (XOR). Оператор XOR возвращает истину (true), если только одно из выражений оказывается истинным (true), но не оба. Например:

Если ИЛИ $x меньше 25 ИЛИ $y больше 45, отобразить сообщение

Мы представляем исключающее 'или' ключевым словом xor:

if (($x <25) xor ($y > 45))
echo 'Наше выражение истинно';

И последний логический оператор — это оператор НЕ, который просто инвертирует результат выражения. Символ ! представляет собой оператор НЕ и может использоваться следующим образом:

(10 > 1) // Возвращает True
!(10 > 1) // возвращает false, потому что мы инвертировали результат с помощью логического НЕ

Операторы сравнения предоставляют возможность сравнивать одно значение с другим и возвращать истинный (true) или ложный (false) результат в зависимости от статуса совпадения. Например, вы можете использовать оператор сравнения, чтобы проверить, соответствует ли значение переменной определенному числу или идентична ли одна строка другой. PHP предоставляет широкий выбор операторов сравнения практически для любых задач сравнения.

Операторы сравнения используются с двумя операндами, один слева и один справа от оператора. В следующей таблице представлены операторы сравнения PHP и приведены краткие описания и примеры:

Оператор название Синтаксис Операция
== Равно $x == $y Возвращает True, если оба операнда равны
!= Не равно $x != $y Возвращает True, если оба операнда не равны
<> Не равно $x <> $y Возвращает True, если оба операнда не равны
=== Тождественно равно $x === $y Возвращает True, если оба операнда равны и относятся к одному типу.
!== Тождественно не равно $x == $y Возвращает True, если оба операнда не равны и относятся к разным типам.
< Меньше $x < $y Возвращает True, если $x меньше $y
> Больше $x > $y Возвращает True, если $x больше $y
<= Меньше или равно $x <= $y Возвращает True, если $x меньше или равно $y
>= Больше или равно $x >= $y Возвращает True, если $x больше или равно $y
<=> Космический корабль $x <=> $y Возвращает целое число, меньшее, равное или большее нуля, в зависимости от того, меньше ли $ x, равно или больше $ y. Представлено в PHP 7.

Примечание: При попытке вывести результат операции сравнения операндов на экран, значение true отобразится в окне браузера как 1. Значение false соответствует числу 0 и не отображается на экран. Чтобы вывести на экран результат в виде true или false используйте функцию var_dump().

При сравнивании целого числа со строкой, строка будет преобразована к числу. В случае, если вы сравниваете две числовые строки, они сравниваются как целые числа:

<?php
$a = 80;
$b = 50;
$c = "80";

var_dump($a == $c); //выведет bool(true)
var_dump($a != $b); //выведет bool(true)
var_dump($a <> $b); //выведет bool(true)
var_dump($a === $c); //выведет bool(false)
var_dump($a !== $c); //выведет bool(true)
var_dump($a < $b); //выведетbool(fale)
var_dump($a > $b); //выведет bool(true)
var_dump($a <= $b); //выведет bool(false)
var_dump($a >= $b); //выведет bool(true)
?>

Оператор spaceship (космический корабль)

Этот оператор предназначен для сравнения двух выражений. Он возвращает -1, 0 или 1 если $a, соответственно, меньше, равно или больше чем $b. Правила, используемые комбинированным оператором сравнения, такие же, как и используемые в настоящее время операторами сравнения PHP: <, <=, ==, >= и >. Сравнение производится в соответствии с правилами сравнения типов PHP.

<?php
$a = 5; $b = 10; echo ($a <=> $b); // возвращает -1, потому что $a меньше $b echo "<br>"; $a = 10; $b = 10; echo ($a <=> $b); // возвращает 0, потому что значения равны echo "<br>"; $a = 15; $b = 10; echo ($a <=> $b); // возвращает 1, потому что $a больше $b ?>

Эти операторы используются для сравнения двух значений и одновременного получения любого из результатов, в зависимости от того, является ли результат true или false. Они также используются в качестве сокращенного обозначения для оператора true или if… else, который мы изучим на следующем уроке.

Синтаксис:

$var = (условие)? значение1: значение2;

Здесь условие будет либо истинным, либо ложным. Если условие истинно, то переменной $var будет присвоено значение1, в противном случае ей будет присвоено значение2.

Оператор название Синтаксис Операция
?: тернарный $x = expr1 ? expr2 : expr3 Возвращает значение $x.
Значение $x равно expr2, если expr1 = TRUE.
Значение $x равно expr3, если expr1 = FALSE.
?? Нулевое слияние $x = expr1 ?? expr2 Возвращает значение $x.
Значение $x равно expr1, если expr1 существует, и не равно NULL.
Pначение $x равно expr2, tсли expr1 не существует или имеет значение NULL.
Представлено в PHP 7
<?php
$x = -12;

echo ($x > 0) ? 'Число положительное' : 'Число отрицательное';
//выведет Число отрицательное
?>

Результат выполнения кода:

Число отрицательное
<?php
// переменная $user принимает значение $_GET['user']
// и "anonymous", если она не существует
echo $user = $_GET["user"] ?? "anonymous";
echo("<br>");

// переменная $color принимает значение "green", если $color не существует или имеет значение null
echo $color = $color ?? "green";
?>

Результат выполнения кода:

anonymous
green

Оператор присваивания используется для присвоения значения переменной и представлен знаком равенства (=). Оператор присваивания также можно комбинировать с арифметическими операторами для объединения присваивания с математической операцией (например, для умножения одного значения на другое и присвоения результата переменной), а также для выполнения конкатенации строк.

В следующей таблице перечислены семь операторов присваивания, доступных в PHP, вместе с описаниями и примерами их использования:

Оператор название Синтаксис Операция
= Назначить $x = $y Операнд слева получает значение операнда справа
+= Добавить, затем присвоить результат $x += $y Простое сложение аналогично $x = $x + $y
-= Вычесть, затем присвоить результат $x -= $y Простое вычитание аналогично $x = $x - $y
*= Умножить и присвоить результат $x *= $y Простой продукт такой же, как $x = $x * $y
/= Разделить, затем присвоить результат (частное) $x /= $y Простое деление аналогично $x = $x / $y
%= Разделить, затем присвоить результат (остаток) $x %= $y Простое деление и получение остатка $x = $x % $y
.= Конкатенация-операнд $x .= $y Устанавливает значение левого операнда в строку, содержащую конкатенацию его значения, добавленного со строкой в ​​правом операнде $x = $x .= $y
<?php
$y = 75;
echo $y; // выведет 75
$y = 100;
$y += 200;
echo $y; // выведет 300
$y = 70;
$y -= 10;
echo $y; // выведет 60
$y = 30;
$y *= 20;
echo $y; // выведет 600
$y = 100;
$y /= 5;
echo $y; // выведет 20
$y = 10;
$y %= 6;
echo $y; // выведет 4
$sampleString = "Мой цвет";
$sampleString .= "синий";// выведет "Мой цвет синий"
?>

Операторы массивов PHP используются для сравнения массивов.

В следующей таблице приведён список операторов, работающих с массивами PHP:

Оператор название Синтаксис Операция
+ Объединение $x + $y Объединение массива $x и массива $y.
== Равно $x == $y TRUE в случае, если $x и $y содержат одни и те же элементы.
!= Не равно $x != $y TRUE если массив $x не равен массиву $y.
=== Тождественно равно $x === $y TRUE в случае, если $x и $y содержат одни и те же элементы в том же самом порядке.
!== Тождественно не равно $x !== $y TRUE если массив $x не равен тождественно массиву $y.
<> Не равно $x <> $y TRUE если массив $x не равен массиву $y.
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
print_r($x + $y); // Array ( [a] => red [b] => green [c] => blue [d] => yellow )

$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
var_dump($x == $y); // bool(false)

$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
var_dump($x === $y); // bool(false)

$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
var_dump($x != $y); // bool(true)

$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
var_dump($x <> $y); // bool(true)

$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
var_dump($x !== $y); // bool(true)
?>

При программировании нередко возникает необходимость увеличивать или уменьшать значение, хранящееся в переменной, на 1. Для этого можно использовать быстрый способ — операторы увеличения и уменьшения PHP. Они состоят из операторов ++ (для увеличения) и -- (для уменьшения) в сочетании с операндом (именем переменной, к которой должно применяться изменение).

Эти операторы можно использовать двумя способами: до и после операнда. Предварительный режим выполняет приращение (Pre-Increment) или декремент (Pre-Decrement) перед выполнением остальной части выражения. Например, вам нужно увеличить значение переменной до того, как оно будет присвоено другой переменной или использовано в вычислениях. В пост- режиме увеличение (Post-Increment) или уменьшение (Post-Decrement) выполняется после того, как выражение было выполнено. В этом случае вы можете уменьшить значение после того, как оно было назначено или использовано в вычислении.

Использование pre или post зависит от того, появляется ли оператор до (для pre) или после (для post) имени переменной в выражении. Например, --$x или $y++.

В следующей таблице представлены различные формы операторов инкремента и декремента (до и после), а также примеры, которые показывают, как эквивалентная задача должна быть выполнена без операторов инкремента и декремента:

Оператор Название Синтаксис Операция
++ Pre-Increment ++$x Сначала увеличивает $x на единицу, затем возвращает $x
-- Pre-Decrement --$x Сначала уменьшает $x на единицу, затем возвращает $x
++ Post-Increment $x++ Сначала возвращает $x, затем увеличивает его на единицу
Post-Decrement $x– Сначала возвращает $x, затем уменьшает его на единицу
<?php
$x = 10;
echo ++$x; // выведет 11

$x = 10;
echo $x++; // выведет 10

$x = 10;
echo --$x; // выведет 9

$x = 10;
echo $x--; // выведет 10
?>

Оператор конкатенации строк PHP используется для объединения значений при создании строки. Оператор конкатенации представлен точкой (.) и может использоваться для построения строки из других строк, переменных, не содержащих строки (например, чисел), и даже констант.

В PHP есть два оператора, специально разработанные для строк:

Оператор Название Синтаксис Операция
. Конкатенация $x . $y Объединенные $x и $y
.= Конкатенация и присвоение $x .= $y Сначала объединяет, затем присваивает значение, так же, как $x = $x . $Y
<?php
$txt1 = "Привет";
$txt2 = " мир!";
echo $txt1 . $txt2; //Выведет Привет мир!

$txt1 = "Привет";
$txt2 = " мир!";
$txt1 .= $txt2;
echo $txt1; //Выведет Привет мир!
?>

Результат выполнения кода:

Привет мир!
Привет мир!

Проверь себя с помощью упражнений

Задача:

Умножьте 15на 3и выведите результат.

echo 15  3;