bcmod

Get modulus of an arbitrary precision number

Description

string bcmod(string $num1, string $num2, intnull $scale = null)

Get the remainder of dividing num1 by num2. Unless num2 is zero, the result has the same sign as num1.

Parameters

num1

The dividend, as a string.

num2

The divisor, as a string.

Return Values

Returns the modulus as a string, or null if num2 is 0.

Changelog

Version Description
8.0.0 scale is now nullable.
7.2.0 num1 and num2 are no longer truncated to integer, so now the behavior of bcmod follows fmod rather than the % operator.
7.2.0 The scale parameter was added.

Examples

Example #1 bcmod example

<?php
bcscale(0);
echo bcmod( '5',  '3'); //  2
echo bcmod( '5', '-3'); //  2
echo bcmod('-5',  '3'); // -2
echo bcmod('-5', '-3'); // -2
?>

Example #2 bcmod with decimals

<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 as of PHP 7.2.0; 0 previously
?>

See Also

  • bcdiv