Programmablauf mit if-, else-Abfrage steuern
In PHP-Programmen müssen häufig gewisse Bedingungen geprüft werden, um den weiteren Programmablauf davon abhängig zu machen. Ein typisches Beispiel hierfür sind die Versandkosten in einem Online-Shop. Viele Händler bieten ihre Waren ab einem bestimmten Bestellwert versandkostenfrei an. Angenommen, ab einem Bestellwert von 100 € sollen die Versandkosten entfallen. Dann bräuchte man bei der Berechnung des Endbetrags eine Abfrage, mit der festgestellt wird, ob der Bestellwert 100 € übersteigt und abhängig vom Ergebnis kann man die Versandkosten berechnen oder nicht.
Ein anderes Beispiel ist die von der Tageszeit abhängige Begrüßung der Benutzer auf der Website. Man könnte den Programmablauf z.B. so gestalten, dass wenn es vor 12:00 Uhr ist, auf der Website "Guten Morgen..." ausgegeben wird, ansonsten "Guten Tag...". Für solche bedingte Steuerungen kann man in PHP if- else-Abfragen verwendet. Die if- else-Abfrage kann man auch als Wenn-Dann-Sonst-Funktion betrachten, wobei der Sonst-Teil optional ist und weggelassen werden kann.
Mit if wird die Prüfung eingeleitet. Innerhalb der runden Klammern wird angegeben, welche Bedingung zutreffen muss. Trifft die Bedingung zu, wird der Programmteil ausgeführt, der innerhalb der geschweiften Klammern angegeben wurde. Optional kann man mit else innerhalb der geschweiften Klammern den Programmteil angeben, der ausgeführt wird, wenn die Bedingung nicht zutrifft.

Bedingung mit Vergleichsoperatoren prüfen
Zum Überprüfen der Bedingung werden werden häufig Operatoren zum Vergleichen benötigt. So kann man z.B. prüfen, ob der Bestellwert größer als 100 € ist, ob die Uhrzeit kleiner als 12:00 Uhr ist, ob eine Variable identisch oder nicht identisch mit einem anderen Wert ist, größer ist etc. Wie man bei einer if-, else-Abfrage die Werte mit Operatoren vergleichen kann, wird ausführlicher unter Vergleichsoperatoren erläutert. Nachfolgend ist ein Beispielcode, mit dem überprüft wird, ob $a gleich $b ist.
$a = 1;
$b = 1;
// Trifft zu, da beide Variablen gleich sind
if ($a == $b)
{
echo 'a ist gleich b';
}
else
{
echo 'a ist nicht gleich b';
}
Datentyp und Inhalt einer Variable prüfen
Eine Variable kann nicht nur mit Vergleichsoperatoren geprüft werden. PHP stellt eine Vielzahl an Funktionen für Überprfüfung des Datentyps oder Inhalts bereit, die auf der Seite Datentyp und Inhalt einer Variable prüfen erläutert werden. Beispielsweise kann man mit is_int() prüfen, ob eine Variable vom Typ int ist. Die zu prüfende Variable wird dabei innerhalb der runden Klammern angegeben und der gesamte Ausdruck wird wiederum in runden Klammern als Bedingung angegeben. Ein Beispiel.
$a = 1;
// Prüfe, ob $a vom Typ int ist
if (is_int($a))
{
echo 'Datentyp ist int';
}
else
{
echo 'Datentyp ist nicht int';
}
Ausdrücke mit logischen Operatoren verknüpfen
Oftmals müssen Ausdrücke mit logischen Operatoren (UND, ODER etc.) verknüpft werden. Wenn man z.B. als Bedingung festlegen möchte, dass $a < $b ODER $b < $c sein muss, kann man als Bedingung den folgenden Code verwenden.
$a = 1;
$b = 2;
$c = 3;
// Prüfe, ob a kleiner als b ODER b kleiner als c ist
if ($a < $b OR $b < $c)
{
echo 'Mindestens eine von zwei Bedingungen trifft zu';
}
else {
echo 'Beide Bedingungen treffen nicht zu';
}