(PHP 4, PHP 5, PHP 7, PHP 8)
bcmod — Devuelve el resto de una división entre números de gran tamaño
Devuelve el resto de la división entre num1
utilizando num2.
El resultado tiene el mismo signo que num1.
num1El operador izquierdo, como una cadena.
num2El operador derecho, como una cadena
scalenull, se establecerá por defecto en la escala predeterminada establecida con bcscale(),
o se utilizará el valor de la directiva INI
bcmath.scale.
Devuelve el módulo, en forma de string.
Esta función lanza una excepción ValueError en los siguientes casos:
num1 o num2
no es una cadena numérica bien formada de BCMath.
scale está fuera del rango válido.
Esta función lanza una excepción DivisionByZeroError
si num2 es 0.
| Versión | Descripción |
|---|---|
| 8.0.0 |
scale ahora es nullable.
|
| 8.0.0 |
La división por 0 ahora lanza una excepción
DivisionByZeroError en lugar de devolver null.
|
| 7.2.0 |
num1 y num2 ya no se truncan a enteros. El comportamiento de bcmod()
sigue a fmod() en lugar del operador %.
|
| 7.2.0 |
Se ha añadido el parámetro scale.
|
Ejemplo #1 Ejemplo con bcmod()
<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>Ejemplo #2 bcmod() con decimales
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 desde PHP 7.2.0; 0 anteriormente
?>