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