(PHP 4, PHP 5, PHP 7, PHP 8)
bcmod — Retourne le reste d'une division entre nombres de grande taille
Retourne le reste de la division entre num1
en utilisant num2.
Le résultat a le même signe que num1.
num1L'opérande gauche, sous la forme d'une chaîne de caractères.
num2L'opérande droite, sous la forme d'une chaîne de caractères.
scalenull, il prendra par défaut la valeur définie par bcscale(),
ou, à défaut, la valeur de la directive INI
bcmath.scale.
Retourne le modulo, sous la forme d'une chaîne de caractères.
Cette fonction lève une exception ValueError dans les cas suivants :
num1 ou num2
n'est pas une chaîne numérique BCMath correctement formée.
scale est en dehors de la plage valide.
Cette fonction lève une exception DivisionByZeroError
si num2 est égal à 0.
| Version | Description |
|---|---|
| 8.0.0 |
scale est désormais nullable.
|
| 8.0.0 |
La division par 0 lève désormais une exception
DivisionByZeroError au lieu de retourner null.
|
| 7.2.0 |
num1 et num2 ne sont
plus tronqués en entier. Le comportement de bcmod()
suit fmod() plutôt que l'opérateur %.
|
| 7.2.0 |
Le paramètre scale a été ajouté.
|
Exemple #1 Exemple avec bcmod()
<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>Exemple #2 bcmod() aved des décimales
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 depuis PHP 7.2.0; 0 precédement
?>