Rechnen mit PHP
Im letzten Bereich haben Sie gelernt, wie mann Werte an eine PHP-Datei
weitergibt, und diese in eine Variable speichert. Dieses ist nicht nur mit Strings möglich, sondern auch
mit Zahlen. Dies ermöglicht uns, z.B. PHP als Rechner einzusetzen. Hilfreich dazu wäre ein Formular,
aber dazu kommen wir erst später. Zunächst behelfen wir uns durch Eingabe über den URL.
http://domain.de/rechner.php?a=23&b=7
Die Datei rechner.php könnte so aussehen.
<?php
$a = $_GET['a'] ;
$b = $_GET['b'] ;
$wert1 = $a + $b + 6 ;
$wert2 = $a - $b - 2 ;
$wert3 = $a * ($b - 5) ;
$wert4 = ($a - 2) / $b ;
echo "$a + $b + 6 = $wert1<br>" ;
echo "$a - $b - 2 = $wert2<br>" ;
echo "$a * ($b -5) = $wert3<br>" ;
echo "($a - 2) / $b = $wert4<br>" ;
?>
Anzeigebeispiel
Natürlich ist es auch möglich, Werte der Veriablen zu ändern. So im folgenden Beispiel
<?php
$a = 7 ;
$a = $a + 3 ;
?>
Das Ergebniss dieser Gleichung ist also 10 ;-). PHP kennt nicht nur diese vier Grundrechenarten, sondern
noch den Modulo-Operator, mit dem der Rest einer Division ermittelt wird.
<?php
$a = 23 % 7 ; // $a hat den Wert 2
$b = 21 % 5 ; // $b hat den Wert 1
?>
Kurzschreibweise
Oft wir in PHP der Wert einer Variablen um eins erhöht oder verringert. Diesen können Sie wie gehabt
so schreiben ...
<?php
$a = 7 ; $a = $a - 1 ;
$b = 7 ; $b = $b + 1 ;
?>
... oder Sie kürzen das ganze ab, was zum gleichen Ergebniss führt:
<?php
$a = 7 ; $a-- ;
$b = 7 ; $b++ ;
?>
Weitere Abkürzungen können Sie aus folgender Tabelle entnehmen
Operator | Beispiel | Identisch mit |
++ | $a++ | $a = $a + 1 |
-- | $a-- | $a = $a - 1 |
+= | $a += 7 | $a = $a + 7 |
-= | $a -= 7 | $a = $a - 7 |
*= | $a *= 7 | $a = $a * 7 |
/= | $a /= 7 | $a = $a / 7 |
%= | $a %= 7 | $a = $a % 7 |
.= | $a .= $b | $a = $a.$b |
Mathematische Funktionen
Zusätzlich gibt es noch mathematische Funktionen, um z.B. die Quadratwurzel zu
ermitteln, geben Sie z.B. ein:
<?php
$a = sqrt($_GET['a']);
?>
Weitere Mathematische Funktionen
Funktion | Beschreibung | Beispiel |
abs($a) | Ermittelt eine Absolute Zahl | abs(-9) = 9 |
acos($a) | Arcus Cosinus (Bogenmaß) | acos(0.6) = 0.927295218002 |
asin($a) | Arcus Sinus (Bogenmaß) | asin(0.6) = 0.643501108793 |
atan($a) | Arcus Tangens (Bogenmaß) | atan(0.6) = 0.540419500271 |
cos($a) | Cosinus (Bogenmaß) | cos(0.6) = 0.82533561491 |
exp($a) | ex Potenz zur Basis | exp(3) = 20.0855369232 |
log($a) | Natürlicher Logarithmus | log(3) = 1.09861228867 |
log10($a) | Dekadischer Logarithmus | exp10(3) = 1000 |
pow($a,$b) | Potenzfunktion | pow(2,5) = 32 |
sin($a) | Sinus (Bogenmaß) | sin(0.6) = 0.564642473395 |
sqrt($a) | Quadradwurzel | sqrt(81) = 9 |
tan($a) | Tangens (Bogenmaß) | tan(0.6) = 0.684136808342 |
Runden
Bei sollchen Zahlen fragen Sie bestimmt, wie man diese evtl; runden kann. Dazu gibt es die Funktion
floor()
, die zur nächsten Ganzzahl abrundet, und ceil()
die zur nächsten
Ganzzahl aufrundet, sowie round()
die kaufmannisch rundet
<?php
$a = pi(); // $pi = Kreiszahl Pi 3.1415926535898
echo floor($a),"<br>" ;
echo ceil($a),"<br>" ;
echo round($a),"<br>" ;
echo round($a,2),"<br>" ;
?>
Anzeigebeispiel
Typenlehre
Eine Variable kann verschiedene Werte haben und haben so unterschiedliche Werte.
Beschreibung | Beispiel | Typenbezeichnung |
Ganzzahl | $a = 2008 | Integer |
Fließkommazahl | $a = 3.14159265 | double |
Text | $a = 'Hallo Welt' | String |
Logisch | true false | boolean |
Zu den Logischen Werten kommen wir im nächsten Bereich Logische Vergleiche.