Variablen werden als Container für Daten benötigt. Während des Programms kommt man häufig zu dem Punkt, dass Daten gespeichert werden müssen, um sie später im Programm wieder zu verwenden. Variablen sind das Konstrukt einer jeden Programmiersprache, diesem Problem zu begegnen.
In PHP erhalten alle Variablen ein vorangestelltes $-Zeichen. Der folgende Code erzeugt eine Variable $meinText, die danach ausgegeben wird.
<?php $meinText = “Hi, dies ist eine String-Variable”; echo $meinText; ?>
Im Skript oben wurde eine String-Variable definiert. Dies erkennt man, dass der Text in doppelten Anführungszeichen ” eingeschlossen ist. String-Variablen können außerdem auch noch definiert werden, indem der Text in einfachen Anführungszeichen ‘ eingeschlossen ist.
Es gibt auch andere Variabletypen wie Integer oder Double für Zahlen oder Boolean für einen Wahrheitswert. Weiterhin gibt es den Datentyp Resource, der eine offene Resource z.B. eine SQL-Datenbankverbindung halten kann. Sogar Objekte können in Variablen gespeichert werden.
In PHP braucht man nicht darauf zu achten, welchen Typ eine Variable hat. Dieser wird ihr automatisch zugeteilt. Das erspart einem die Typzuweisung einer Variablen, führt allerdings auch manchmal zu Verwirrungen.
Arrays sind Listen von Variablen. Sie sind überall dort nützlich, wo eine Anzahl ähnlicher Daten gespeichert werden muss, zum Beispiel eine Adressliste, eine Liste an Besuchern etc.. Die Array-Liste verfügt über einen Index, über den man die jeweilige Varialbe abrufen kann.
Ein einfaches Beispiel für ein Array:
<?php $namen = array (“Hugo”,“Gustav”,“Franz”,“Michael”); $alter = array (5,20,53,18); echo “$namen[0] ist $alter[0] Jahre alt.”; echo “$namen[1] ist $alter[1] Jahre alt.”; echo “$namen[2] ist $alter[2] Jahre alt.”; echo “$namen[3] ist $alter[3] Jahre alt.”; ?>
Wir sehen das Einrichten eines Arrays in der ersten beiden Programmzeilen. Dann werden die Array-Variablen referenziert, indem der Name und Alter ausgelesen und ausgegeben wird. Wir bemerken, dass der Index des Arrays immer mit 0 beginnt, statt mit 1. Einen Index 4 gibt es in unseren beiden Arrays nicht.
Neben den Variablen eines Programmes, gibt es innerhalb des Programmes Anweisungen, die auf diesen Variablen arbeiten. Neben diesen Anweisungen gibt es sogenannte Kontrollstrukturen. Mit Hilfe von Kontrollstrukturen kann man Bedingungen festlegen, ob ein bestimmter Programmteil durchlaufen werden soll oder nicht. Man kann auch festlegen wie häufig ein bestimmter Codeabschnitt durchlaufen wird und welche Abbruchbedingung gilt.
Die in PHP verwandten Kontrollstrukturen sind folgende:
- if/else
- switch
- for
- while
- do while
Kontrollstrukturen lassen sich einfach mit Flußdiagrammen veranschaulichen. Ich möchte gerne auf dieser Seite dies tun. Dabei werde ich zwei Elemente der Flußdiagramme benutzen.
Einmal eine Raute, die eine Verzweigung andeutet:

Und einmal ein Rechteck, welches eine Aktion andeutet:


Die if-Struktur überprüft eine Bedingung. Wenn diese Bedingung erfüllt ist, so wird der Hauptzweig gegangen und der Hauptblock kommt zur Ausführung. Wenn diese Bedingung nicht erfüllt ist, wird der Else-Zweig gegangen und der Else-Block kommt zur Ausführung. Der Else-Zweig kann auch weggelassen werden. Nachdem die If-Struktur abgearbeitet ist, wird wie gehabt im Programm weitergegangen.
Für die if-Struktur gibt es zwei unterschiedliche Schreibweisen. In der ersten Schreibweise dürfen mehrere Anweisungen in den einzelnen Blöcken stehen. In der zweiten Schreibweise nur jeweils eine Anweisung. Beide Schreibweisen dürfen miteinander gemischt werden.
<?php if (Bedingung) { Anweisung(); } else { ElseAnweisung(); } ?>
oder alternativ
<?php if (Bedingung) Anweisung(); else ElseAnweisung(); ?>

Hier wird die Switch-Anweisung mit break-Anweisungen dargestellt. Es ist unbedingt auf die Breaks zu achten. Vergißt man sie, läuft das Programm eine Switch-Anweisung nach der anderen ab und es entsteht ein ungewolltes Verhalten.
<?php switch ($variable) { case 1: AnweisungWennVariable1(); break; case 2: AnweisungWennVariable2(); break; default: AnweisungWennKeinSwitchFallZutrifft(); break; } ?>

Die For-Schleife findet Anwendung, wenn eine Schleife eine bestimmte feste Anzahl von Malen durchlaufen werden muss, zum Beispiel um alle Felder eines Arrays zu durchlaufen.
<?php for ($i=0; $i<100; $i++) { Anweisung(); } ?>

Die While-Schleife prüft die Bedingung vor dem Schleifendurchlauf. Ist die Bedingung nicht erfüllt, wird die Schleife nie durchlaufen.
<?php while (Bedingung) { Anweisung(); } ?>

Die Do-While-Schleife wird immer mindestens einmal durchlaufen.
<?php do { Anweisung(); } while (Bedingung); ?>
