array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'en', ), 'this' => array ( 0 => 'function.bcmod.php', 1 => 'bcmod', ), 'up' => array ( 0 => 'ref.bc.php', 1 => 'BC Math Functions', ), 'prev' => array ( 0 => 'function.bcdiv.php', 1 => 'bcdiv', ), 'next' => array ( 0 => 'function.bcmul.php', 1 => 'bcmul', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/bc/functions/bcmod.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
bcmod — Get modulus of an arbitrary precision number
Get the remainder of dividing num1
by
num2
.
Unless num2
is zero, the result has the same sign
as num1
.
num1
The dividend, as a string.
num2
The divisor, as a string.
Returns the modulus as a string, or null
if
num2
is 0
.
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.
|
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
?>