Manchmal möchte man, dass bestimmte Teile des Scriptes nur dann ausgeführt werden sollen, wenn einige Bedingungen vorliegen. Hierfür verwendet man die if- bzw. if-else-Anweisung. Wenn die Bedingung wahr ist, dann wird der Block der if-Anweisung ausgeführt. Ist sie falsch, wird die eventuell vorhande else-Anweisung ausgeführt. Else ist aber nicht zwingend erforderlich. Sie kann auch weg gelassen werden. In diesem Falle wird bei einem Falsch in der Bedingung nichts ausgeführt.
Vergleichs-Operator
Um die Bedingung für die if-Anweisung formulieren zu können, werden Vergleichs-Operatoren benötigt. Hier gibt es für unterschiedliche Anwendung viele Operatoren. Folgende Operatoren sind die gängigsten Operatoren:
- „==“: Prüfung auf Gleichheit des Inhalts der beiden Ausdrücke
- „!=“: Prüfung auf Ungleichheit des Inhalts der beiden Ausdrücke
- „===“: Prüfung auf Gleichheit des Inhalts und des Datentyps der beiden Ausdrücke
- „!==“: Prüfung auf Ungleichheit des Inhalts und des Datentyps der beiden Ausdrücke
- „<„: Die Bedingung wird dann wahr, wenn der linke Ausdruck kleiner dem rechten Ausdruck ist
- „<=“: Die Bedingung wird dann wahr, wenn der linke Ausdruck kleiner gleich dem rechten Ausdruck ist
- „>“: Die Bedingung wird dann wahr, wenn der linke Ausdruck größer dem rechten Ausdruck ist
- „>=“: Die Bedingung wird dann wahr, wenn der linke Ausdruck größer gleich dem rechten Ausdruck ist
Aufbau der if-Anweisung
Nachfolgend der Aufbau einer if-Anweisung:
<?php
if(cond)
tuWas();
tuWasNeues();
?>
In dieser Schreibweise wird, wenn die Bedingung (in dem obigen Beispiel als „cond“ gekennzeichnet) wahr wird, die Anweisung tuWas(); zusätzlich zu tuWasNeues() ausgeführt. Ist die Bedingung falsch, wird nur tuWasNeues() ausgeführt. Möchte man mehr als nur eine Anweisung schreiben, muss man einen Block aufmachen. Dieser Block wird durch geschweifte Klammern gekennzeichnet.
<?php
if(cond) {
tuWas();
tuWasAnderes();
}
tuWasNeues();
?>
Damit man einheitlichen Code schreibt, empfehle ich immer die geschweiften Klammern zu verwenden, selbst wenn man nur eine Zeile benötigt. Es ist auch leserlicher.
Aufbau der if-else-Anweisung
Die if-else-Anweisung sieht der normalen if-Anweisung sehr ähnlich. Sie bekommt zusätzlich zu den Block des if-Bereichs noch einen else-Block. Da ich die Schreibweise mit den Klammern bevorzuge, lasse ich die Beispiele ohne Klammern gleich weg. Sie sind aber analog zu den oben gezeigten Beispielen.
<?php
if(cond) {
tuWas();
} else {
tuWasAnderes();
}
?>
Bei diesem Beispiel wird tuWas() ausgeführt, wenn die Bedingung wahr ist. Ist sie falsch, dann wird tuWasAnderes() ausgeführt.
Mehrere unterschiedliche Bedingungen
Es besteht dann noch zusätzlich die Möglichkeit, dass man mehrere Bedingungsblöcke hat. Es lassen sich beliebig viele Blöcke kombinieren. Ein Beispiel hierfür sieht wie folgt aus:
<?php
if(cond) {
tuWas();
} elseif(cond2) {
tuWasNeues();
} else {
tuWasAnderes();
}
?>
Die Bedingung
Die oben genannten Dingen waren jetzt die graue Theorie zu den Kontrollstrukturen. Jetzt möchte ich dies noch anhang von einigen „echten“ Beispielen zeigen.
<?php
// Variablen mit einem Wert belegen
$zahl1 = 4;
$zahl2 = 5;
$zahl3 = 5;
if($zahl1 == $zahl2) { // ergibt false
echo 'Die Zahlen sind gleich';
}
if($zahl1 < $zahl2) { // ergibt true
echo 'Die Zahl in $zahl1 ist kleiner als die Zahl in $zahl2';
}
if($zahl2 >= $zahl3) { // ergibt true
echo 'Die Zahl in $zahl2 ist größer gleich der Zahl in $zahl3';
}
?>
Aus dem obigen PHP-Code ergibt sich dann folgende HTML-Ausgabe:
Die Zahl in $zahl1 ist kleiner als die Zahl in $zahl2 Die Zahl in $zahl2 ist größer gleich der Zahl in $zahl3
Trackbacks/Pingbacks