Variablen könnte man als Behälter für Daten bezeichnen. Während der Laufzeit eines Scriptes werden den Variablen Werte zugewiesen bzw. sie speichern temporär die Daten und Werte die ihnen zugewiesen wurden. Technisch gesehen sind Variablen Speicherstellen im Hauotspeicher des Computers [Zitat: J. C. Hanke]
bzw. Die Namen der Variablen verweisen auf einen bestimmten Speicherplatz im Rechner … [Zitat: PHP – der leichte Einstieg]
.
Syntax
In PHP fangen die Variablen mit einem Dollarzeichen $
, der erste Zeichen der Variable muss entweder ein Unterstrich oder ein Buchstabe sein. Beispiel: $variable
oder >code>$_variable. Nach dem ersten Zeichen sind eigentlich alle Zeichen erlaubt. Allerdings sollte man auf Sonderzeichen, Leerstellen und Umlaute verzichten. Zudem sind bestimmte Wörter die in PHP reserviert sind (if, switch, while etc.) nicht als Variablennamen erlaubt.
Die Variablen in PHP sind case-sensitiv d. h. es wird zwischen Groß- und Kleinschreibung unterschieden. $Variable
ist nicht gleich $variable
, daher wird zu einer generellen Kleinschreibung geraten.
Datentypen
PHP unterscheidet mehrere Datentypen die in den Variablen eingesetzt werden können:
- Ein Text (Zeichenkette = String): “Hallo, wie geht es dir?”
- Eine Zahl wie z. B. 17 (Ganzzahl) oder -256 (Fließkommazahl)
- Ein Wahrheitswert (true oder false für wahr oder falsch)
Aber eigentlich ist muss man sich um diesen Bereich nicht kümmern, denn in PHP muss man den Datentyp nicht vorher deklarieren. Datentypen werden automatsich erkannt und dementsprechend zugewiesen.
Beispiele
<?php
$var="Hallo, wie geht es dir?";
echo "$var";
?>
Als Ausgabe würde erscheinen: Hallo wie geht es dir?
<?php
$var="Perun";
echo "Hallo $var, wie geht es dir";
?>
Als Ausgabe würde erscheinen: Hallo Perun, wie geht es dir?
Hierbei eine Anmerkung: Zeichenketten bzw. Strings werden immer in Anführungszeichen notiert.
Verkettungsoperator
Die Verkettung wird benötigt um in der echo
-Ausgabe die Variablen und Zeichenfolgen miteinander zu verketten. Sehr häufig ist eine Verkettung nicht nötig, aber z. B. dei der Werterückgabe aus Arrays und Funktionen wird der Verkettungsoperator benötigt. Als Verkettungsoperator wird in PHP ein Punkt (.) eingesetzt.
<?php
$var="Perun";
echo "Hallo" . $var . ", wie geht es dir";
?>
Die Ausgabe ist die gleiche wie in dem vorherigen Beispiel. Zu beachten ist, daß die Leerzeichen (die ausgegeben werden sollen) innerhalb von Anführungszeichen notiert werden müssen.
Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienstleistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.
echo "$var";
geht auch einfacher:echo $var;
Und statt
echo "Hallo" . $var . ", wie geht es dir";
kann man auchecho "Hallo", $var, ", wie geht es dir";
nehmen. Das gibt einfach die 3 Teile nacheinander aus, anstatt sie erst zu verketten und dann das ganze auszugeben.Beides dürfte (wenn auch kaum bemerkbare) Geschwindigkeitsverbesserungen und CPU-Entlastungen bringen. Beim ersten ist der Code IMHO auch lesbarer 🙂
Es sollte vielleicht noch angemerkt werden, dass man Strings mit
"
und'
deklarieren kann. Innerhalb von doppelten Anführungszeichen werden Variablen ersetzt, innerhalb von einfachen nicht (Typographie-Experten mögen darüber hinwegsehen, dass ich hier von “Anführungszeichen” spreche, obwohl sie es nicht sind.)Beispiel:
< ?php $foo = 'Hallo'; $bar = "$foo Welt"; echo $bar; // Ausgabe: Hallo Welt ?>>
Das Verwenden von einfachen Anführungszeichen ist übrigens auch etwas schneller, da keine Variablen ersetzt werden müssen.
Huch, da hat es glatt das Beispiel verschluckt. Also hier nochmal:
$foo = 'Welt';
$bar = "Hallo $foo";
echo $bar; // Ausgabe: Hallo Welt
Hi Martin,
das man auch die einfachen Anführungszeichen einsetzen kann, wusste ich. Aber das die Variablen innerhalb der einfachen nicht ersetzt werden ist mir neu. Habe ich bis jetzt auch in keinem Buch gelesen. Danke für den Hinweis.
Gruß
PHP-lernen 7: Arrays
In der Lektion 5 habe ich beschrieben wie man einer Variablen einen Wert zuweist. Aber was ist wenn man einer Variablen mehrere Werte zuweisen will und wenn diese Werte in irgendeiner For zusammengehören? Dann kommen Arrays (Wertelisten bzw. Datenfelde…