(PHP 4, PHP 5, PHP 7, PHP 8)
bcmod — Modulo zweier Zahlen mit beliebiger Genauigkeit
Liefert den Rest der Division von num1
durch
num2
.
Das Ergnis hat dasselbe Vorzeichen wie num1
.
num1
Der linke Operand als Zeichenkette.
num2
Der rechte Operand als Zeichenkette.
scale
null
, wird die mit bcscale() definierte
Standard-Genauigkeit verwendet oder auf den Wert der INI-Direktive
bcmath.scale
zurückgegriffen.
Gibt den Modulo als Zeichenkette zurück.
Diese Funktion löst in den folgenden Fällen einen ValueError aus:
num1
oder num2
ist keine wohlgeformte numerische BCMath-Zeichenkette.
scale
liegt außerhalb des gültigen Bereichs.
Wenn num2
0
ist, löst diese
Funktion eine DivisionByZeroError-Exception
aus.
Version | Beschreibung |
---|---|
8.0.0 |
scale ist jetzt nullbar.
|
8.0.0 |
Die Division durch 0 löst nun eine
DivisionByZeroError-Exception aus,
anstatt null zurückzugeben.
|
7.2.0 |
num1 und num2 werden
nicht länger zu einer Ganzzahl abgeschnitten, so dass nun das Verhalten
von bcmod() eher fmod() statt dem
% Operator entspricht.
|
7.2.0 |
Der Parameter scale wurde hinzugefügt.
|
Beispiel #1 bcmod()-Beispiel
<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>
Beispiel #2 bcmod() mit Dezimalzahlen
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 von PHP 7.2.0 an; 0 zuvor
?>