PHP: Арифметические операторы
- Операторы вычитания, умножения, деления, деления по модулю и сложения
- Унарное отрицание
- Инкремент
- Декремент
В PHP доступны все основные математические операции. В качестве операндов можно использовать как целые, так и вещественные числа.
Оператор | Знак | Описание |
---|---|---|
Сложение | + | Сложение двух значений |
Вычитание | - | Вычитание одного значения из другого |
Умножение | * | Перемножение двух значений |
Деление | / | Деление одного значения на другое |
Получение остатка от деления | % | Деление одного значения на другое и возвращение остатка (деление по модулю) |
Инкремент | ++ | Сокращенная запись увеличения числа на единицу |
Декремент | -- | Сокращенная запись уменьшения числа на единицу |
Унарное отрицание | - | Превращение положительного числа в отрицательное или отрицательного в положительное |
Операторы вычитания, умножения, деления, деления по модулю и сложения
Операторы вычитания, умножения, деления, деления по модулю и сложения используется точно так же, как и в математике. Здесь стоит уделить внимание операторам деления и деления по модулю.
Оператор деления ("/
") возвращает число с плавающей точкой, кроме случая, когда оба значения являются целыми числами (или строками, которые преобразуются в целые числа), которые делятся нацело - в этом случае возвращается целое значение.
<?php $first = 10; $second = 7; $result1 = $first - $second; $result2 = $first * $second; $result3 = $first / $second; $result4 = 13 % 3; echo "result1 = $result1 <br> result2 = $result2 <br>"; echo "result3 = $result3 <br> result4 = $result4"; ?>
При делении по модулю операнды преобразуются в целые числа (c удалением дробной части) до начала операции. Результат операции остатка от деления %
будет иметь тот же знак, что и делимое:
<?php echo (7 % 3)."\n"; // выводит 1 echo (7 % -3)."\n"; // выводит 1 echo (-7 % 3)."\n"; // выводит -1 echo (-7 % -3)."\n"; // выводит -1 ?>
Унарное отрицание
Оператор унарного отрицания обозначается знаком '-
', он изменяет значение своего единственного операнда на противоположное:
<?php $negnum = -5; //определяем переменную с отрицательным значением $result = 4 + (-5); ?>
В данном случае круглые скобки не нужны, потому что унарное отрицание имеет наивысший приоритет, но они помогают организовать код таким образом, чтобы было понятно, что имеет место сложение чисел -5 и 4.
Инкремент
Оператор инкремента, обозначается знаком ++
и может быть расположен с любой стороны от операнда, с которым он работает. Он увеличивает это значение на единицу, точно также, как при прибавлении единицы к значению. Фактический результат зависит от того, где был применен оператор, до или после операнда, с которым он применялся. Данный оператор часто используется с переменными, и зачастую это происходит внутри циклов (про циклы будет рассказано далее).
Префиксная форма инкремента
Префиксная форма - это когда оператор инкремента расположен перед операндом, такая форма записи означает то, что инкремент будет выполнен первым: он увеличивает значение операнда на единицу и только потом уже выполняется вся остальная часть инструкции:
<?php $num1 = 2; $result = ++$num1; echo $result; ?>
Постфиксная форма инкремента
Постфиксная форма записывается немного по другому - инкремент располагается в этом случае после операнда. При постфиксной форме записи первое использование операнда возвращает его текущее значение, только после этого значение будет увеличено на единицу:
<?php $num1 = 2; echo $num1++; // операнд вернет 2, затем увеличит значение echo $num1; // значение операнда 3 ?>
Декремент
Оператор декремента, обозначается знаком --
, и в отличие от оператора инкремента, уменьшает, а не увеличивает, на единицу значение своего операнда. Декремент также допускает префиксную и постфиксную форму записи:
<?php // префиксная форма декремента $num1 = 5; echo --$num1; // сначала выполняется декремент, затем выводится 4 echo $num1; // значение операнда 4 // постфиксная форма декремента $num1 = 5; echo $num1--; // операнд вернет 5, затем уменьшит значение echo $num1; // значение операнда 4 ?>
С этой темой смотрят: