1. Home
  2. Docs
  3. PHP
  4. PHP Math

PHP Math

PHP Math: In PHP bietet die math-Bibliothek eine Vielzahl von Funktionen, die grundlegende mathematische Operationen, komplexere Berechnungen und statistische Funktionen unterstützen. Diese Funktionen sind besonders nützlich, um Berechnungen effizient und präzise direkt in PHP durchzuführen.

Grundlegende mathematische Operatoren

PHP unterstützt die üblichen mathematischen Operatoren, um Berechnungen durchzuführen:

  • Addition (+)
  • Subtraktion (-)
  • Multiplikation (*)
  • Division (/)
  • Modulo (%): Gibt den Rest einer Division zurück.
  • Exponentiation (**): Hebt eine Zahl auf eine bestimmte Potenz.
<?php
$a = 10;
$b = 3;

echo $a + $b;  // Ausgabe: 13
echo $a - $b;  // Ausgabe: 7
echo $a * $b;  // Ausgabe: 30
echo $a / $b;  // Ausgabe: 3.3333
echo $a % $b;  // Ausgabe: 1
echo $a ** $b; // Ausgabe: 1000 (10 hoch 3)
?>

Wichtige mathematische Funktionen in PHP

PHP stellt eine Vielzahl an Funktionen bereit, um komplexe mathematische Berechnungen auszuführen. Hier sind einige der wichtigsten:

1. Absolute Werte

Die Funktion abs() gibt den absoluten (positiven) Wert einer Zahl zurück.

<?php
echo abs(-10); // Ausgabe: 10
?>

2. Runden

PHP bietet mehrere Funktionen zum Runden:

  • round(): Rundet eine Zahl auf die angegebene Anzahl von Dezimalstellen.
  • ceil(): Rundet eine Zahl auf die nächste ganze Zahl auf.
  • floor(): Rundet eine Zahl auf die nächste ganze Zahl ab.
<?php
echo round(3.567, 2); // Ausgabe: 3.57
echo ceil(4.3);       // Ausgabe: 5
echo floor(4.9);      // Ausgabe: 4
?>

3. Quadratwurzel

Mit sqrt() wird die Quadratwurzel einer Zahl berechnet.

<?php
echo sqrt(16); // Ausgabe: 4
?>

4. Exponentiation und Potenzen

PHP bietet die Funktion pow() zur Berechnung von Potenzen.

<?php
echo pow(2, 3); // Ausgabe: 8 (2 hoch 3)
?>

Ab PHP 5.6 kann auch der **-Operator für Potenzen verwendet werden, der oft effizienter ist.

5. Min- und Max-Werte

Mit min() und max() lässt sich der kleinste oder größte Wert in einer Liste bestimmen.

<?php
echo min(2, 3, 1, 6, 7); // Ausgabe: 1
echo max(2, 3, 1, 6, 7); // Ausgabe: 7
?>

6. Zufallszahlen

Für die Generierung von Zufallszahlen gibt es rand() und mt_rand(). mt_rand() ist schneller und erzeugt eine bessere Zufallsverteilung als rand().

<?php
echo rand(1, 10);    // Zufallszahl zwischen 1 und 10
echo mt_rand(1, 100); // Zufallszahl zwischen 1 und 100
?>

Ab PHP 7.1 ist random_int() verfügbar, die eine kryptografisch sichere Zufallszahl generiert.

7. Trigonometrische Funktionen

PHP bietet Funktionen zur Berechnung von Winkeln und trigonometrischen Werten:

  • sin(): Sinus eines Winkels
  • cos(): Kosinus eines Winkels
  • tan(): Tangens eines Winkels

Diese Funktionen erwarten den Winkel im Bogenmaß.

<?php
$winkel = pi() / 4; // 45 Grad im Bogenmaß
echo sin($winkel);  // Ausgabe: ~0.707
echo cos($winkel);  // Ausgabe: ~0.707
echo tan($winkel);  // Ausgabe: ~1.0
?>

8. Logarithmus

Mit log() kann der natürliche Logarithmus einer Zahl berechnet werden. Ein optionaler zweiter Parameter ermöglicht es, den Logarithmus zur Basis 10 zu berechnen.

<?php
echo log(8);      // Ausgabe: ~2.079 (natürlicher Logarithmus)
echo log(100, 10); // Ausgabe: 2 (Logarithmus zur Basis 10)
?>

9. Konvertierungen zwischen Grad und Bogenmaß

PHP bietet zwei Funktionen zur Umrechnung von Grad in Bogenmaß und umgekehrt:

  • deg2rad(): Konvertiert Grad in Bogenmaß.
  • rad2deg(): Konvertiert Bogenmaß in Grad.
<?php
$grad = 90;
$rad = deg2rad($grad);
echo $rad;            // Ausgabe: 1.5708 (π/2)
echo rad2deg($rad);   // Ausgabe: 90
?>

10. Mathematische Konstanten

PHP bietet einige nützliche Konstanten für häufig verwendete mathematische Werte:

  • M_PI: Wert von π (Pi)
  • M_E: Wert der Eulerschen Zahl e
  • INF: Unendlichkeit
<?php
echo M_PI; // Ausgabe: 3.1415926535898
echo M_E;  // Ausgabe: 2.718281828459
?>

Häufig gestellte Fragen

Wann sollte ich random_int() statt rand() in PHP verwenden?

random_int() ist sicherer und erzeugt eine kryptografisch sichere Zufallszahl, was besonders bei sicherheitskritischen Anwendungen wie Passwortgenerierung wichtig ist.

Was ist der Unterschied zwischen round(), ceil() und floor() in PHP?

round() rundet auf die nächste ganze Zahl, abhängig vom Dezimalwert (>= .5 wird aufgerundet), ceil() rundet immer auf die nächste höhere Zahl und floor() rundet immer auf die nächste niedrigere Zahl.

Wie konvertiere ich zwischen Grad und Bogenmaß in PHP?

Verwenden Sie deg2rad() für Grad zu Bogenmaß und rad2deg() für die Umkehrumrechnung. Dies ist besonders nützlich in Kombination mit trigonometrischen Funktionen, die Bogenmaß erwarten.