07 Kontrollstrukturen
if
Das if-Konstrukt ist eines der wichtigsten Features vieler Programmiersprachen, so auch in PHP. Das Konstrukt ermöglicht die bedingte Ausführung von Codefragmenten.
Nur wenn ausdruck
den Wert true
ergibt, wird anweisung
ausgefĂĽhrt.
Operatoren
Vergleichs-Operatoren
Um zwei Werte in PHP zu vergleichen, gibt es die Vergleichsoperatoren ==
und ===
. Ein Vergleichs-Ausdruck gibt immer einen boolschen Wert von true
oder false
zurĂĽck.
Beispiel
Name
Ergebnis
$a == $b
Gleich
Gibt true
zurĂĽck, wenn $a gleich $b ist.
$a === $b
Identisch
Gibt true
zurĂĽck, wenn $a gleich $b ist und beide vom gleichen Typ sind.
$a != $b
Ungleich
Gibt true
zurĂĽck, wenn $a ungleich $b ist.
$a !== $b
Nicht identisch
Gibt true
zurĂĽck, wenn $a ungleich $b ist oder nicht vom gleichen Typ sind.
$a < $b
Kleiner als
Gibt true
zurĂĽck, wenn $a kleiner als $b ist.
$a > $b
Grösser als
Gibt true
zurück, wenn $a grösser als $b ist.
$a <= $b
Kleiner Gleich
Gibt true
zurĂĽck, wenn $a kleiner oder gleich $b ist.
$a >= $b
Grösser Gleich
Gibt true
zurück, wenn $a grösser oder gleich $b ist.
Typenschwache und typenstarke Vergleiche
In PHP können typenschwache oder typenstarke Vergleiche durchgeführt werden. Bei typenschwachen Vergleichen (==
, !=
) wird der Wert der Variablen unabhängig von ihren Typen verglichen. Bei typenstarken Vergleichen (===
, !==
) mĂĽssen Wert und Typ beider Variablen identisch sein.
Der typenstarke Ungleich-Operator (!==
) ist wahr, wenn der Wert oder der Typ unterschiedlich ist. So kann z.B. unterschieden werden, ob ein Teil-String in einem Text am Anfang (die Funktion strpos()
liefert 0
) oder gar nicht (strpos()
liefert false
) vorkommt.
Logische Operatoren
Um mehrere Vergleiche zu verbinden oder einen Vergleich umzukehren, können logische Operatoren verwendet werden.
and
or
xor
&&
||
!
else
Oft will man eine Anweisung ausfĂĽhren, wenn eine bestimmte Bedingung erfĂĽllt ist, und eine andere Anweisung, wenn dies nicht der Fall ist. Dies ist der Einsatzzweck von else
.
Ternärer Operator
Um eine einfache if/else
-Bedingung zu erstellen, kann auch der Ternäre Operator
verwendet werden. Dies ist besonders bei der Zuweisung von bedingten Werten an eine Variable eine leserliche Alternative.
Die Klammern ( )
sind optional.
elseif
elseif
, wie der Name schon sagt, ist eine Kombination aus if
und else
. Wie else
erweitert es eine if
-Kontrollstruktur, um alternative Befehle auszufĂĽhren, wenn die ursprĂĽngliche if
-Bedingung nicht zutrifft.
while
Die Bedeutung einer while
-Schleife ist simpel. Die Schleife weist PHP an, die untergeordnete Anweisung wiederholt auszufĂĽhren, solange die while
-Bedingung zutrifft. Die Bedingung wird jedes Mal am Anfang der Schleife ĂĽberprĂĽft.
for
for
-Schleifen sind die komplexesten Schleifen in PHP. Die Syntax einer for
-Schleife ist:
ausdruck1
wird vor AusfĂĽhrung der Schleife ausgefĂĽhrt.
ausdruck2
wird am Anfang jedes Schleifendurchlaufs ausgefĂĽhrt. Wenn diese true
ergibt, wird die Schleife fortgesetzt. Ergibt sie false
, wird die AusfĂĽhrung der Schleife abgebrochen.
ausdruck3
wird am Ende jedes Schleifendurchlaufs ausgefĂĽhrt.
foreach
Das foreach
-Konstrukt bietet eine einfache Möglichkeit durch Arrays zu iterieren (=schrittweise durchlaufen).
Es existiert eine zweite Schreibweise fĂĽr foreach
, bei der zusätzlich der Array-Schlüssel in eine Variable geschrieben wird.
Alternative Schreibweisen
FĂĽr Kontrollstrukturen gibt es eine alternative Schreibweise, die besonders beim Generieren von HTML oft besser lesbar ist.
Bei der alternativen Schreibweise werden keine { }
verwendet:
Anwendungsbeispiel beim Generieren von HTML:
Herkömmliche Schreibweise...
Aufgabe
Kommentiere nun sämtliche Ausgabefunktionen in der Datei index.php
aus. Kommentiere in der Datei index.php
die Script-Einbindung der Datei index.view.php
wieder ein.
Ändere die Datei index.view.php
so ab, dass alle Fahrzeuge aufgelistet werden, welche du heute benutzt hast:
Last updated
Was this helpful?