Get modulus of an arbitrary precision number

- « bcdiv

- bcmul »

- PHP Manual
- BC Math Functions
- Get modulus of an arbitrary precision number

# bcmod

(PHP 4, PHP 5, PHP 7, PHP 8)

bcmod — Get modulus of an arbitrary precision number

### Description

bcmod(string `$num1`, string `$num2`, ?int `$scale` = `null`): string

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

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

Example #2 bcmod() with decimals

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

### See Also

- bcdiv() - Divide two arbitrary precision numbers