PHP – Kontrollstrukturen
Ohne die Anwendung von Kontrollstrukturen kommen wir beim Programmieren nicht sehr weit.
Hinter der Bezeichnung Kontrollstrukturen verbergen sich Bedingungen und Schleifen.
Mit einer Bedingung meinen wir, dass man PHP die Anweisung gibt, etwas zu vergleichen und danach
in einer bestimmten Abhängigkeiten von dem Ergebniss des Vergleichs bzw. der Prüfung eine oder andere
Aufgabe durchzuführen. Mit dem Einsatz dieser Möglichkeit erstellen wir dynamische
Webseiten.
Wenn wir diese Funktionen in eine Website einbinden, erst dann sprechen wir von dynamischen Seiten.
Zwei Bedingungen sind bekannt: Zueinem die if-Anweisung und die switch-Anweisung.
Schauen wir uns zunächst die Die if-Anweisung
Diese Anweisung benutzen wir, wenn wir eine Bedingung,
die mit Hilfe einer Vorgabe erfüllt werden soll, also den wert true (wahr) zurück gibt.
Wenn das der Fall ist, dann soll der
angegebene Befehlsblock ignoriert und die Programmausführung
mit der nächsten Befehlszeile
fortgesetzt werden. Eine if-Anweisung wird folgendermaßen geschrieben:
If(Bedingung) [{was soll geschehen;}
In die runden Klammer schreiben wir einen logischen Ausdruck, in die geschweiften Klammer der auch
als Block bezeichnet wird, kommt der Dann-Teil der Anweisung. Jede dieser
Anweisung muss mit Semikolon abgeschlossen werden. Wir sprechen auch von WENN - DANN - SONST Funktionen.
In einem PHP Script kann man beliebig
viele Anweisungen in den Dann-Teil schreiben.
Am Ende folgt der letzte teil was in der geschlossene geschweiften
Klammer steht.
Das folgende Beispiel soll uns einen Ausschnitt eines Scripts mit einer if-Anweisung zeigen.
<?php
if($vorname=="vorname")
{
echo "geben Sie Ihren Vornamen ein";
}
?> |
Das ist ein Teil aus einem Kontaktformular.
Im Prinzip kan die if-Bedingung weiter erweitert werden,
Dies führt wie wir uns vorstellen können
zu ein ziemliches durcheinander wenn wir grössere Codes schreiebn.
Wie sich jetzt denken können gibt es auch hierfür andere Alternativen.. Richtig.
Vergleichsoperatoren und logische Operatoren
Für den richtigen Einsatz der if-Anweisung müssen wir noch wissen.
Wir haben als Bedingung einen eindeutigen Variablennamen,
Wenn die Variable existiert und wenn diese einen
Wert hat, der nicht Null ist, ergibt die Prüfung true. Anders bei einem Vergleich. Wenn
wir eine if-Anweisung dazu einsetzen um zu prüfen, ob ein
Wert übereinstimmt, dann
brauchen wir einen sogenannten Vergleichsoperator. In diesem Fall ist
dies nicht einfach das Gleichheitszeichen,
sondern zwei hintereinander.
==.
(Wir bleiben weiter bei dem Beispiel eines Kontaktformulars)
If($anrede == "Mann")
Wird das Formular abgeschickt und sofern die Anrede
Mann ist, soll der Wert Mann an die Variable übergeben
den Variablen $anrede gespeichert ist. Ist dies der Fall
ist die Prüfung der Bedingung true ( wahr).
Wenn wir in einer if-Bedingung die doppelten Gleichheitszeichen vergessen,
gibt PHP keine Fehlermeldungen aus, sondern nimmt die mit dem einfachen Gleichheitszeichen
angewiesene Zuweisung vor. Bei der Zuweisung ändert sich der Wert der Variablen.
Nach if($anrede = "Mann") steht in $anrede der Wert "Mann".
Solche Fehler sind sher schwer zu finden und zeigen keinerlei Auswirkungen auf unser Script,
man also nicht sagen: Immer, wenn das und das passiert, haben wir ein doppeltes
Gleichheitszeichen in der if-Bedingung vergessen. Der einzige Hinweis den wir geben
können, ist der folgender:
Gibt das Script keinen Fehler aus und scheint der Code richtig zu sein, aber die
Ausgabe des Scripts ergibt nicht das, was wir uns gedacht haben, dann schauen wir uns
die die if -Anweisung an ob da auch doppelte Gleichheitszeichen gesetzt ist.
In der Schuhle haben wir auch andere Vergleichoperatorengelernt.
Eine
if-Anweisung die mathematischen Zeichen für Größer als und Kleiner als benutzen,
also > und < bzw. >=und<=, beispielsweise so:
if($wert<100) { echo "Der mindest Bestellwert ist nicht erreicht ";}
Einen Überblick über die Operatoren:
Operatoren |
Bedeutung |
== |
Gleichheit |
!= |
Ungleichheit |
> |
Größer als |
< |
Kleiner als |
>= |
Größer als oder gleich |
<= |
Kleiner als oder gleich |
Vermutlich kennt ihr noch aus der Schule auch die spezifischen
Operatoren, mit denen Ausdrücke verknüpft werden.
AND
OR
XOR
Diese Operatoren können wir bei if-Bedingungen einsetzen. Wenn wir z.B.
$wert1 AND $wert2 schreiben, bedeutet dies, dass nur wahr zurückgegeben
wird, wenn beide Variablen wahr sind. Bei OR reicht es, wenn eine der beiden Variablen wahr ist,
um als Ergebnis wahr auszugeben. Mit XOR ergibt die Prüfung falsch, wenn beide Variablen
gleich sind.
Verwendung von if-else
Neben der reinen if-Anweisung können logische Bedingung erstellt werdenl;
Mit der else-Klausel wird ein Code ausgeführt,
wenn die Prüfung der Bedingung false ergeben hat. Die Syntax schaut wie folgendt aus:
if (Bedingung) { Anweisung1}
else {Anweisung2;}
Das würde dann in einem Script beispielsweise so aussehen:
if($wert< 100) {echo "Der mindest Bestellwert ist nicht erreicht";}
else {echo"Herzlichen dank für Ihren Einkauf ";}
Neben der else-Anweisung kennt PHP auch die elseif-Anweisung. So können mehrere Ausdrücke
( Bedingungen) geprüft werden, indem in dem else-Zweig noch ein weiterer if-Befehl eingebaut wird.
Wir verwenden die if-Anweisung mit elseif-Klausel folgendermaßen:
if (Bedingung) { Anweisung1}
elseif (Bedingung2) {Anweisung2;}
else {Anweisung3;}
Den else-Teil können wir auch weglassen, wenn es keine Anweisungen für den Fall gibt, dass die
Prüfung der Bedingung nicht true zurückgegeben hat.
- Öffnen wir unseren den Editor und schreiben wir ein neues Script mit <?php.
- In der nächsten Zeile verwenden wir die Funktion date( ), die je nach Formatierungs- anweisung, die in der Klammer steht, ein Datum in formatierter Form zurückgibt. W ist das Symbol für die numerische Darstellung des Wochentags. Schreiben wir in die nächsten Zeilen:
$tag=date("W");
if($tag==0 0R $tag==6)
Jettz beginnt der Anweisungsblock.
{echo "Es ist Wochenende";
4. Nun beginnt die elseif-Klausel:
elseif ($tag==5)
{echo"es dauert nicht mehr lang";
}
Als Letztes schreiben wir die else-Anweisung, danach schließen wir den PHP-Teil.
else {echo "Ich muss Arbeiten";
}
?>
Im Ganzen sieht das Script folgendermaßen aus:
<?php
$tag=date("W");
if($tag==0 0R $tag==6)
{echo "Es ist Wochenende";
} elseif ($tag==5)
{echo "es dauert nicht mehr lang ";
}
else {echo "Ich muss Arbeiten";
}
?> |
Die switch-Anweisung
In vielen Fällen erweist es sich als sinnvoll, statt der if-Anweisung die Alternative
switch zu benutzen. Entgegen der if-elseif-Auswertung prüft die switch-Bedingung
immer nur eine Bedingung bzw. einen Ausdruck ( meistens den Wert einer Variablen)
und führt je nach Resultat des Vergleichs die angegebenen Befehle aus. Dabei wird
nicht entweder true oder false zurückgegeben, sondern mit mehreren Fallunterscheidungen gearbeitet:
ergibt der Vergleich den Fall 1, dann Anweisung 1;
ergibt der Vergleich den Fall 2, dann Anweisung 2;
ergibt der Vergleich den Fall 3, dann Anweisung 3;
Wir verwenden die switch-Anweisung im Script folgendermaßen:
<?php
Switch ($Variable)
{
case "wert1":
Anweisung1;
break;
case "wert2":
Anweisung2;
break;
case "wert3":
Anweisung3;
break;
default;
Anweisung4;
break;
}
?> |
PHP beginnt die Auswertung am Anfang; sobald PHP den Fall (case) findet, der mit dem
Wert korrespondiert, wird die Anweisung ausgeführt, und zwar tapfer so lange, bis das Ende
der switch-Anweisung erreicht ist oder bis es auf break stößt. Deswegen also das break.
Aus Gründen der Konsistenz schreiben wir es auch nach der default-Anweisung, wobei die
default-Anweisung allerdings optional ist.
In Kapitel 5, in dem beispielhaft ein Euroumrechner programmiert wird, verwenden wir die
switch-Bedingung, sodass wir dort sehen können, wie dieser Befehl konkret eingesetzt wird.
Kleiner Hinweis: Wir bieten auch ein Pagrenkservice an. <<Keine Angst anmelden kostet NIX!>>
RANKING CHARTS
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20
|