Signatur
Beschreibung
gmp_abs() berechnet den absoluten Betrag einer beliebig großen Ganzzahl, die als GMP-Objekt, natives PHP-Integer oder numerischer String übergeben werden kann. Das Ergebnis ist stets nicht-negativ.
Die Funktion ist besonders nützlich, wenn mit sehr großen Zahlen gearbeitet wird, die außerhalb des nativen PHP-Integer-Bereichs liegen und bei denen ein Vorzeichenwechsel oder eine Betragsberechnung erforderlich ist. Anders als abs() arbeitet gmp_abs() auf dem GMP-Zahlentyp und bleibt dabei präzise, ohne Gleitkomma-Ungenauigkeiten zu erzeugen.
Das zurückgegebene GMP-Objekt kann direkt in anderen GMP-Funktionen wie gmp_add(), gmp_mul() oder gmp_strval() weiterverwendet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $num Pflicht | GMP|int|string | Die Eingangszahl, deren absoluter Betrag berechnet werden soll. Kann ein GMP-Objekt, ein PHP-Integer oder ein numerischer String sein. |
Rückgabewert
num repräsentiert. Der Wert ist immer >= 0.Beispiele
Absoluter Betrag einer negativen GMP-Zahl
<?php
$negativ = gmp_init('-42');
$positiv = gmp_abs($negativ);
echo gmp_strval($positiv); // 42
Absoluter Betrag einer sehr großen negativen Zahl
<?php
// Zahl weit außerhalb des PHP-Integer-Bereichs
$gross = gmp_init('-99999999999999999999999999999');
$betrag = gmp_abs($gross);
echo gmp_strval($betrag);
Direktübergabe als Integer-Literal
<?php
// gmp_abs akzeptiert auch einen nativen PHP-Integer direkt
$betrag = gmp_abs(-7);
echo gmp_strval($betrag);
// Wichtig · Fallstricke
Die GMP-Erweiterung muss aktiviert sein (--with-gmp). Ist sie nicht vorhanden, wirft PHP einen fatalen Fehler. Unter vielen Linux-Distributionen ist das Paket php-gmp separat zu installieren.
Bei positiven Werten gibt gmp_abs() eine Kopie des GMP-Objekts zurück, d. h. das Original wird nicht verändert.