Weitere numerische Funktionen

Die HTML-Anweisungen der Beispiele wurden mit einem Leerzeichen ungültig gemacht, damit sie nicht ausgeführt werden. Für korrekte HTML-Anweisungen ersetze die Zeichenfolge '< ' durch '<'.

Taschenrechner-Funktion

ui01.php:
< html>
< body>
< ?php
   echo "< b>Mathematische Konstanten:< /b>< br>";
   echo "Kreiszahl Pi: " . M_PI . "< br>";
   echo "oder so: " . pi() . "< br>";
   echo "Euler'sche Zahl e: " . exp(1) . "< p>";

   echo "< b>Wurzel, Potenz, Logarithmus:< /b>< br>";
   $a=4.75;
   echo "Variable a: $a < br>";
   $erg = sqrt($a);
   echo "Wurzel aus a: $erg< br>";
   $erg = pow($a,2);
   echo "a zum Quadrat (a hoch 2): $erg< br>";
   $erg = pow($a,3);
   echo "a hoch 3: $erg< br>";
   $erg = log($a);
   echo "ln(a) = Natürlicher Logarithmus von a : $erg< br>";
   $erg = log10($a);
   echo "log(a), 10er-Logarithmus von a: $erg< p>";
?>
< /body>
< /html>

Ganzzahlermittlung, Extremwerte

< html>
< body>
< ?php
   echo "< b>Zahlen in Ganzzahlen verwandeln:< /b>< br>";
   $a=4.75;
   echo "Variable a: $a < br>";
   echo "nächstniedrigere ganze Zahl zu a: " .
         floor($a) . "< br>";
   echo "nächsthöhere ganze Zahl zu a: " .
         ceil($a) . "< br>";
   echo "a kaufmännisch gerundet (ab .5 aufwärts): " .
         round($a) . "< p>";

   echo "< b>Maxima, Minima:< /b>< br>";
   $b=5.37;
   $c=30;
   echo "Variable a: $a < br>";
   echo "Variable b: $b < br>";
   echo "Variable c: $c < br>";
   echo "Maximum von a und b: " . max($a,$b) . "< br>";
   echo "Maximum von a, b und c: " . max($a,$b,$c) . "< br>";
   echo "Minimum von a und b: " . min($a,$b) . "< br>";
   echo "Minimum von a, b und c: " . min($a,$b,$c) . "< p>";
?>
< /body>
< /html>

Trigonometrische Funktionen

< html>
< body>
< ?php
   echo "< b>Trigonometrische Funktionen:< /b>< br>";
   $c=30;
   echo "Variable c: $c (in Grad)< br>";
   $cbm = $c / 180 * M_PI;
   echo "Variable c: $cbm (in Bogenmaß umgerechnet)< br>";
   echo "Sinus von c: " . sin($cbm) . "< br>";
   echo "Cosinus von c: " . cos($cbm) . "< br>";
   echo "Tangens von c: " . tan($cbm) . "< p>";
?>
< /body>
< /html>

Zufallszahlen

< html>
< body>
< ?php
   echo "< b>Einfache Zufallszahlen:< /b>< br>";
   srand((double)microtime()*1000000);
   echo "Größte mögliche Zufallszahl: " .
        getrandmax() . "< br>";
   echo "6 Zufallszahlen: ";
   for ($i=1; $i<=6; $i++)
   {
      $erg = rand();
      echo "$erg ";
   }
   echo "< p>";

   echo "Bessere Zufallszahlen:< /b>< br>";
   mt_srand((double)microtime()*1000000);
   echo "Größte mögliche Zufallszahl: " .
        mt_getrandmax() . "< br>";

   echo "6 bessere Zufallszahlen: ";
   for ($i=1; $i<=6; $i++)
   {
      $erg = mt_rand();
      echo "$erg ";
   }
   echo "< br>";

   echo "15 bessere Zufallszahlen zwischen 1 und 49: ";
   for ($i=1; $i<=15; $i++)
   {
      $erg = mt_rand() % 49 + 1;
      echo "$erg ";
   }
   echo "< p>";
?>

< /body>
< /html>

Mischen

< html>
< body>
< ?php
   mt_srand((double)microtime()*1000000);

   /* 32 Zähler auf Null setzen */
   for ($i=1; $i<=32; $i++) $cnt[$i]=0;

   /* 32 mal ziehen */
   for($i=1; $i<=32; $i++)
   {
      /* Ziehung wiederholen, falls Zähler */
      /* der aktuellen Karte größer Null   */
      do
      {
         $z = mt_rand() % 32 + 1;
      }
      while($cnt[$z]>0);

      /* Zähler erhöhen */
      $cnt[$z] = $cnt[$z]+1;

      /* Karte speichern */
      $karte[$i] = $z;
   }

   /* 32 Karten ausgeben */
   for ($i=1; $i<=32; $i++)
   {
      echo $karte[$i] . " ";
   }
?>

< /body>
< /html>

Formatierung von Zahlen

< html>
< body>
< ?php
   echo "Zahlen-Formatierung:
"; $d = 12.3 * 3098.55397 * 445.2; echo "Variable d: $d< br>"; echo "Mit Tausender-Teilung (englisch), ohne Dezimalstellen: " . number_format($d) . "< br>"; echo "Mit Tausender-Teilung, auf drei Dezimalstellen gerundet (englisch): " . number_format($d,3) . "< br>"; echo "Mit Tausender-Teilung, auf drei Dezimalstellen gerundet (deutsch): " . number_format($d,3,",",".") . "< p>"; ?> < /body> < /html>

Stellenwertsysteme

< html>
< body>
< ?php
   echo "< b>Zahlen-Systeme:< /b>< br>";
   $e = 57;
   echo "Variable e: $e (als Dezimalzahl)< br>";
   echo "als Binärzahl (Zahl zur Basis 2): " .
         decbin($e) . "< br>";
   echo "als Oktalzahl (Zahl zur Basis 8): " .
         decoct($e) . "< br>";
   echo "als Hexadezimalzahl (Zahl zur Basis 16): " .
         dechex($e) . "< br>";
   echo "als Zahl zur Basis 4: " .
         base_convert($e,10,4) . "< br>";
   echo "als Zahl zur Basis 32: " .
         base_convert($e,10,30) . "< br>";
?>
< /body>
< /html>

Länge, Umwandlungsfunktionen

< html>
< body>
Tragen Sie einen Test-Satz ein, und senden Sie
das Formular ab< br>
Der Satz sollte einige Worte umfassen,
damit das Ergebnis erkennbar wird
< form action = "uj01.php" method = "post">
< input name="test" size="50">< p>
< input type="submit" value="Absenden">< p>
< /form>
< /body>
< /html>

uj01.php:
< html>
< body>
< ?php
   echo "Umwandlungs-Funktionen:

"; echo "< TABLE BORDER>"; echo "< TR> < TD>Funktion< /TD> < TD>Erläuterung< /TD> < TD>Ergebnis< /TD> < /TR>"; echo "< TR> < TD> < /TD> < TD>Original< /TD> < TD>$test< /TD> < /TR>"; $lg = strlen($test); echo "< TR> < TD>strlen< /TD> < TD>Länge< /TD> < TD>$lg< /TD> < /TR>"; $kl = strtolower($test); echo "< TR> < TD>strtolower< /TD> < TD>alles klein< /TD> < TD>$kl< /TD> < /TR>"; $gr = strtoupper($test); echo "< TR> strtoupper< /TD> < TD>alles groß< /TD> < TD>$gr< /TD> < /TR>"; $uf = ucfirst($test); echo "< TR> < TD>ucfirst< /TD> < TD>erstes Zeichen groß< /TD> < TD>$uf< /TD> < /TR>"; $uw = ucwords($test); echo "< TR> < TD>ucwords< /TD> < TD>erstes Zeichen jedes Wortes groß< /TD> < TD>$uw< /TD> < /TR>"; $rv = strrev($test); echo "< TR> < TD>strrev< /TD> < TD>umdrehen< /TD> < TD>$rv< /TD> < /TR>"; $tr = strtr($test,"ab","AB"); echo "< TR> < TD>strtr< /TD> < TD>alle 'a' und 'b' ersetzt durch 'A' und 'B'< /TD> < TD>$tr< /TD> < /TR>"; $rp = str_replace("hallo","hi", $test); echo "< TR> < TD>str_replace< /TD> < TD>alle 'hallo' ersetzt durch 'hi'< /TD> < TD>$rp< /TD> < /TR>"; echo "< /TABLE>"; ?> < /body> < /html>