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

?>
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | puzinfo@puzzleweb.ru