(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
.
num1
L'opérande gauche, sous la forme d'une chaîne de caractères.
num2
L'opérande droite, sous la forme d'une chaîne de caractères.
scale
null
, 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
?>