# bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod — Renvoie le quotient et le reste d'un nombre de précision arbitraire

### Description

bcdivmod(string `$num1`, string `$num2`, ?int `$scale` = `null`): array

Renvoie le quotient et le reste de la division de `num1` par `num2`.

### Liste de paramètres

`num1`

  Le dividende, sous la forme d'une chaîne de caractères.

`num2`

  Le diviseur, sous la forme d'une chaîne de caractères.

`scale`
  Ce paramètre est utilisé pour définir le nombre de chiffres après la virgule dans le résultat. Si `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.

### Valeurs de retour

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.

### Erreurs / Exceptions

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`.

### Exemples

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
?>`

### Voir aussi

- bcdiv() - Divise deux nombres de grande taille
- bcmod() - Retourne le reste d'une division entre nombres de grande taille
- BcMath\Number::divmod() - Renvoie le quotient et le modulo d'un nombre de précision arbitraire