Variablen in PHP

Innerhalb des PHP-Programmcodes verwendet man häufig Variablen. Das sind im Grunde Container, die einen Namen haben und Daten enthalten können. Diese Daten können wiederum an anderer Stelle verwendet werden, indem man statt der Daten den Variablennamen angibt. Die folgende Abbildung veranschaulicht das Prinzip.

Variablen in PHP

Variablen sind wie der Name andeutet variabel und können sich ändern. Sie erfüllen die Aufgabe eines Platzhalters, haben einen Namen und einen Inhalt. Der Umweg über Variablen mag zu Beginn etwas umständlich sein. Tatsächlich aber vereinfachen sie die Programmierung erheblich und es gibt verschiedene Gründe, weshalb man mit Variablen arbeitet, statt die Daten direkt anzugeben.

In vielen Fällen ist die direkte Angabe der Daten nicht möglich. Angenommen, man hat einen Online-Shop. Die Zwischensumme ist abhängig von der Anzahl der Produkte im Warenkorb und den dazugehörigen Einzelpreisen. Daher kann man für die Zwischensumme keine festen Werte angeben. Man kann jedoch eine Formel festlegen, die z.B. aus der Multiplikation der Einzelpreise mit den Stückzahlen resultieren kann und für diese Variablen benutzen. Die Variablen würden wiederum mit Daten gefüllt werden, sobald der Besucher ein Produkt in den Warenkorb legt.

Ein anderer Grund, weshalb man soweit es geht mit Variablen arbeiten sollte, ergibt sich aus der Notwendigkeit, Programme hin und wieder zu ändern. Angenommen, an verschiedenen Stellen des Programms soll die E-Mailadresse verwendet werden. Würde man überall die E-Mailadresse angeben, man sagt dazu auch "hart codieren", statt eine Variable zu verwenden, müsste man bei einer Änderung der E-Mailadresse den kompletten Code überarbeiten. Definiert man jedoch eine Variable mit der E-Mailadresse als Inhalt und verwendet im restlichen Code nur noch die Variable, dann braucht man bei einer Änderung nur die Stelle zu ändern, an der die Zuweisung erfolgte. Den übrigen Code bräuchte man dagegen nicht zu verändern.

Variablennamen Zuweisung von Werten

Variablennamen werden in PHP mit einem Dollarzeichen $ festgelegt. Es wird wird zwischen Groß- und Kleinschreibung unterschieden. Eine Variable $Email ist eine andere Variable als $email. In der Praxis werden Variablennamen daher meistens in Kleinbuchstaben angegeben. Außerdem muss das erste Zeichen nach dem Dollarzeichen entweder ein Buchstabe oder ein Unterstrich sein. Auf Sonderzeichen und Umlaute sollte man verzichten.

Die Zuweisung erfolgt über ein Gleichheitsszeichen, wobei der Name links und der Wert rechts davon angegeben wird. Beim folgenden Beispiel weist man der Variable $email den Wert email@example.com zu. Wie bei allen Zeichenketten muss der Wert in einfachen oder doppelten Hochkommas (Anführungszeichen) angegeben werden und die Anweisung wird mit einem Semikolon abgeschlossen. An beliebigen Stellen im Code kann die Variable dann verwendet werden, z.B. mit echo, wobei die Variable selbst nicht innerhalb von Hochkommas angegeben wird.

// Zuweisung
$email = 'email@example.com';

// Verwendung
echo $email;

Variablen müssen vor ihrer Verwendung mit einem Inhalt gefüllt werden. Beim folgenden Code würde nichts ausgegeben werden.

echo $email;

$email = 'email@example.com';

Zuweisung mit der Heredoc-Syntax

Es gibt eine sogenannte Heredoc-Syntax, die auch auf Variablen bei der Zuweisung von Werten angewendet werden kann. Hierbei wird der Variable eine beliebige Zeichenkette zugewiesen, die in mehreren Zeilen geschrieben werden und dazu selbst Variablen enthalten kann. Außerdem braucht man mit der Heredoc-Syntax einfache oder doppelte Hochkommas nicht zu escapen. Der Inhalt wird innerhalb eines beliebigen Bezeichners eingefügt, der mit drei öffnenden spitzen Klammern <<< eingeleitet wird. In einer separaten Zeile wird der Bezeichner mit einem Semikolon abgeschlossen. Beim Abschluss ist darauf zu achten, dass zwischen dem Zeilenanfang und dem Bezeichner keine sonstigen Zeichen, Leerzeichen etc. vorhanden sind.

$var1 = 'Variablen';

$var2 = <<<BEZ
Beliebiger Text, der auch $var1 enthalten 
und über mehrere Zeilen gehen kann. Man kann
auch "Texte in Anführungszeichen" oder in
'einfachen Hochkommas' setzen.
BEZ;

echo $var2;

Datentyp einer Variable in PHP

In vielen Programmiersprachen muss man beim Deklarieren einer Variable auch den Datentyp angeben. Das heißt, es muss angegeben werden, ob der Wert eine Zeichenkette (String), eine Ganzzahl, eine Gleitpunktzahl etc. ist. In PHP ist das nicht notwendig und deshalb zählt PHP zu den schwach typisierten Programmiersprachen. Der Datentyp in PHP ergibt sich automatisch aus dem Wert, der einer Variable zugewiesen wird.

Wird einer Variable als Wert eine Zahl zugewiesen, wird die Zahl ohne Hochkomma angegeben. Bei einer Gleitpunktzahl wird als Trennzeichen vor den Nachkommastellen ein Punkt (statt Komma) verwendet. Es ist auch möglich, als Wert das Ergebnis einer Berechnung mit Variablen und Konstanten zuzuweisen. Der Wert von $var3 ist im folgenden Beispiel 33.5.

// Typ int (Ganzzahl)
$var1 = 1;

// Typ float (Gleitpunktzahl)
$var2 = 2.5;

// Formel
$var3 = $var1 + $var2 + 30;

echo $var3;

Variablen ändern

Es ist auch möglich, während eines Codes Variablen zu ändern. Dies geschieht sogar sehr oft. Dabei wird der Code von oben nach unten ausgewertet. Beim folgenden Beispiel würden nacheinander die beiden Namen Hans und Max ausgegeben werden.

$name = 'Hans';
echo $name;

$name = 'Max';
echo $name;

Zuerst erfolgt die Zuweisung mit dem Wert Hans, dann wird die Variable $name mit echo ausgegeben. Im nächsten Schritt wird der Wert mit Max überschrieben und erneut ausgegeben. Das Zuweisen mit neuen Werten kann man im Prinzip beliebig fortfahren. Somit hätte man ein konkretes Beispiel, warum Variablen tatsächlich variabel, also veränderbar sind.