(PHP 8 >= 8.4.0)
bcdivmod — Get the quotient and modulus of an arbitrary precision number
Get the quotient and remainder of dividing num1 by
num2.
num1The dividend, as a string.
num2The divisor, as a string.
scalenull , it will default to the default scale set with bcscale() ,
or fallback to the value of the
bcmath.scale INI directive.
Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a string .
This function throws a ValueError in the following cases:
num1 or num2
is not a well-formed BCMath numeric string.
scale is outside the valid range.
This function throws a DivisionByZeroError
exception if num2 is 0.
Example #1 bcdivmod() example
<?php
bcscale(0);
[$quot, $rem] = bcdivmod('5', '3');
echo $quot; // 1
echo $rem; // 2
[$quot, $rem] = bcdivmod('5', '-3');
echo $quot; // -1
echo $rem; // 2
[$quot, $rem] = bcdivmod('-5', '3');
echo $quot; // -1
echo $rem; // -2
[$quot, $rem] = bcdivmod('-5', '-3');
echo $quot; // 1
echo $rem; // -2
?>Example #2 bcdivmod() with decimals
<?php
[$quot, $rem] = bcdivmod('5.7', '1.3', 1);
echo $quot; // 4
echo $rem; // 0.5
?>