array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'language.operators.arithmetic.php', 1 => 'Арифметика', ), 'up' => array ( 0 => 'language.operators.php', 1 => 'Операторы', ), 'prev' => array ( 0 => 'language.operators.precedence.php', 1 => 'Приоритет', ), 'next' => array ( 0 => 'language.operators.increment.php', 1 => 'Инкремент и декремент', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'language/operators/arithmetic.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
Помните школьные основы арифметики? Описанные ниже операторы работают так же.
Пример | Название | Результат |
---|---|---|
+$a | Идентичность | Конвертация значения переменной $a в целое число (int) или число с плавающей точкой (float), если нужно. |
-$a | Отрицание | Смена знака $a. |
$a + $b | Сложение | Сумма $a и $b. |
$a - $b | Вычитание | Разность $a и $b. |
$a * $b | Умножение | Произведение $a и $b. |
$a / $b | Деление | Частное от деления $a на $b. |
$a % $b | Деление по модулю | Целочисленный остаток от деления $a на $b. |
$a ** $b | Возведение в степень | Возведение значения переменной $a в степень, указанную в переменной $b. |
Операция деления («/») возвращает число с плавающей точкой, кроме случая, когда оба значения — целые числа (или строки, которые преобразуются в целые числа), которые делятся нацело, тогда возвращается целое значение. Для целочисленного деления вызывают функцию intdiv().
При делении по модулю операнды преобразовываются в целые числа (int) (путём удаления дробной части) до начала операции. Для деления по модулю чисел с плавающей точкой вызывают функцию fmod().
Результат операции остатка от деления %
получит тот же знак,
что и делимое — то есть, результат выражения $a % $b
получит тот же знак, что и значение переменной $a. Например:
<?php
echo (5 % 3)."\n"; // печатает 2
echo (5 % -3)."\n"; // печатает 2
echo (-5 % 3)."\n"; // печатает -2
echo (-5 % -3)."\n"; // печатает -2
?>