Mathematische Funktionen

In PHP gibt es viele verschiedene Befehle zur Berechnung, welche von einfachen (exp) bis zu hoch mathematischen (sinh) Funktionen reichen. Entsprechende Befehle für das umwandeln in andere Zahlensysteme findest du in dieser Übersicht. Eine (unvollständige) Liste zeigen wir Dir hier: (Beispiele im Format Funktion(Parameter,..[Parameter])⇒Rückgabetyp(int,float,string) Zurückgegebener Wert

BefehlBeschreibungRückgabe Beispiel
float tan(float $arg)tan berechnet den Tangens des Winkels $arg.tan(1)⇒float 1.5574077246549
float tanh(float $arg) Berechnet den Tangens Hyperbolikus des Parameters $arg.tanh(1)⇒float 0.76159415595576
float sin(float $arg)sin berechnet den Sinus des Winkels $arg.sin(9)⇒float0.41211848524176
float sinh(float $arg)Berechnet den Sinus Hyperbolikus des Parameters $arg welcher als (exp(arg) - exp(-arg))/2 definiert ist.sinh(1)⇒float 1.1752011936438
float sqrt(float $arg)sqrt berechnet die Quadratwurzel von $arg.sqrt(9)⇒int/float(wenn benötigt) 3
float pow(float $base, $exp)pow berechnet die Potenz von $exp zur Basis $base Kurz: $exp^$basepow(10,3)⇒int/float (wenn benötigt) 1000
float log(float $arg[, $base])Berechnet den natürlichen Logarithmus von $arg beziehungsweise den Logarithmus von $arg zur Basis $base falls der optionale zweite Parameter $base gegeben ist.log(8)⇒float 2.0794415416798
float log10(float $arg)Berechnet den dekadischen Logarithmus von $arg, d.h den Logarithmus zur Basis 10.log10(2)⇒float 0.30102999566398
float exp(float $arg)exp berechnet e hoch $argexp(1)⇒float 2.0794415416798
float floor(float $arg)Liefert die nächste ganze Zahl, die kleiner oder gleich dem Parameter $arg ist.floor(4.3561)⇒int a

Ein paar Beispiele

Stell dir vor, Du bräuchtest für einen Job eine Webpage, welche dir den Sinus (sin) und den Sinus Hyperbolikus (sinh) eines nicht definierten Winkels ausgibt. Dazu schreiben wir erst mal ein Formular, welches nach dem Winkel fragt, und nach der Zahl für den Sinus Hyperbolikus:

<!DOCTYPE html>
<html lang = "de" charset = "utf8">
  <head>
    <title>Sinus und den Hyperbolikus berechnen.</title>
  </head>
  <body>
    <form action = "sinh.php" method = "POST">
      Winkel zur Berechnung des Sinus: <input type = "number" name = "sinus" placeholder = "Winkel..." />
      Zahl für den Sinus Hyperbolikus: <input type = "number" name = "hyper" placeholder = "123..." />
      <button>Berechnen!</button>
    </form>
  </body>
</html>

Jetzt bauen wir schnell eine kleine Routine ein, welche nach abschicken des Formulars den Sinus und Hyperbolikus ausgibt.

code.php
<!DOCTYPE html>
<html lang = "de" charset = "utf8">
  <head>
    <title>Sinus und den Hyperbolikus berechnen.</title>
  </head>
  <body>
    <?php
    if(!empty($_POST['hyper']))
    {
      $sinu = sin($_POST['sinus']);
      $sinhu = sinh($_POST['hyper']);
      echo "Sinus: ".$sinu."<br />Sinus Hyperbolikus: ". $sinhu;
    }  // end if
    else
    {
      echo '
        <form action = "doku.php?id=php:math" method = "POST">
          Winkel zur Berechnung des Sinus: <input type = "number" name = "sinus" placeholder = "Winkel..." /><br />
          Zahl für den Sinus Hyperbolikus: <input type = "number" name = "hyper" placeholder = "123..." />
          <input type = "submit" value = "Berechnen">
        </form>
      ';
    } // end else
    ?>
  </body>
</html>

Beispielhafte Ausgabe:
Webdarstellung
Und das Ergebnis aus 22 & 23 (Nach dieser Reihenfolge):
Resultat


Im nächsten Kapitel beschäftigen wir uns mit der Umwandlung in andere Zahlensysteme.