(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 la valeur par défaut de l'échelle définie avec bcscale(),
ou utilisera la valeur de la directive INI
bcmath.scale
si disponible.
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
?>