(PHP 8 >= 8.4.0)
bcdivmod — Renvoie le quotient et le reste d'un nombre de précision arbitraire
Renvoie le quotient et le reste de la division de num1 par
num2.
num1Le dividende, sous la forme d'une chaîne de caractères.
num2Le diviseur, sous la forme d'une chaîne de caractères.
scalenull, 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.
Renvoie un tableau indexé où le premier élément est le quotient sous forme de chaîne et le second élément est le reste sous forme de chaîne.
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.
Exemple #1 Exemple de bcdivmod()
<?php
bcscale(0);
[$quot, $rem] = bcdivmod('5', '3');
echo $quot; // 1
echo $rem; // 2
[$quot, $rem] = bcdivmod('5', '-3');
echo $quot; // -1
echo $rem; // 2
[$quot, $rem] = bcdivmod('-5', '3');
echo $quot; // -1
echo $rem; // -2
[$quot, $rem] = bcdivmod('-5', '-3');
echo $quot; // 1
echo $rem; // -2
?>Exemple #2 bcdivmod() avec des décimaux
<?php
[$quot, $rem] = bcdivmod('5.7', '1.3', 1);
echo $quot; // 4
echo $rem; // 0.5
?>