PHP-Lektionen – Lektion 4 – Numerische Variablen in PHP
In der letzten Lektion haben wir String-Variablen behandelt, jetzt schauen wir uns numerische Variablen an. Der einfachste Zahlentyp sind Ganzzahlen.
Ganzzahlen in PHP
Ganzzahlen umfassen alle Zahlen im Bereich [-2.147.483.648, ..., -4, -3, -2, -1, 0, 1, 2, 3, 4, ..., 2.147.483.647]. Diese Begrenzung ergibt sich, weil eine Ganzzahl mit 32 Bit codiert wird.
Wie alle anderen Variablen in PHP werden Ganzzahlen einfach durch Zuweisung definiert:
<?php $x = 5; $y = -8; ?>
Neben den uns vertrauten Dezimalzahlen können auch andere Zahlensysteme verwendet werden (Oktal, Hexadezimal usw.):
<?php $i = 456; // Dezimalzahl $i = -895; // negative Zahl $i = 0121; // Oktalzahl (entspricht 81 Dezimal) $i = 0x1B; // Hexadezimalzahl (entspricht 27 Dezimal) ?>
Neben Ganzzahlen gibt es in PHP auch Fließkommazahlen.
Fließkommazahlen (float) in PHP
Fließkommazahlen werden in PHP als Dezimalzahlen geschrieben:
$pi = 3.14;
Der Dezimalteil wird durch einen Punkt getrennt – nicht zu verwechseln mit dem String-Konkatenationsoperator. Fließkommazahlen können auch im wissenschaftlichen Format geschrieben werden:
$b = 3.2e5; $c = 9E-11;
Fließkommazahlen (floating point) benötigen 64 Bit Speicher (also doppelt so viel wie Ganzzahlen).
Fließkommazahlen entstehen oft als Ergebnis von Divisionen:
$a = 1/3; print $a;
Das Ergebnis ist:
0.333333333333
Beachten Sie auch, dass das Ergebnis nicht immer intuitiv ist:
$a = 1/3; $a = $a * 3; print $a;
Das Ergebnis ist nicht 0.999999999, sondern genau 1.
Wenn Sie dasselbe mit einem Taschenrechner machen (1 geteilt durch 3 multipliziert mit 3), verlieren Sie eventuell eine Millionstel- oder Milliardstel-Einheit, abhängig von der Genauigkeit des Rechners. PHP hingegen "betrügt" nicht – es speichert die Operationen über die Variable und verliert keinen Bruchteil des Ergebnisses.