Oft möchte man abhängig von der Erfüllung bestimmter Bedingungen unterschiedlichen Programmcode ausführen. Zur Prüfung von Bedingungen können if- und switch-Anweisungen genutzt werden. Beispiel:
<?php
// Variable $user mit dem Text admin speichern
$user = "admin";
/*
Prüfen, ob in der Variable $user admin steht
Zur Prüfung muss ein == verwendet werden
*/
If ($user == "admin")
{
// Wenn $user == "admin", Hallo Administrator ausgeben
echo "Hallo Administrator!";
} else {
// Sonst Hallo Gast ausgeben
echo "Hallo Gast";
}
?>
Da im Beispiel in der Variable $user admin gespeichert ist, wird „Hallo Administrator!“ ausgegeben. Um zu überprüfen, ob die Anweisung funktioniert, können Sie der Variable einen anderen Text zuweisen und die Seite erneut aufrufen. Nun sollte „Hallo Gast“ ausgegeben werden.
Um mehr als zwei Bedingungen zu unterscheiden, kann entweder die elseif-Anweisung oder als elegantere Lösung eine switch-Anweisung verwendet werden. Beispiel:
<?php
// Variable $user mit dem Text admin speichern
$user = "admin";
/*
Verschiedene Fälle unterscheiden mit if/elseif/else
*/
if ($user == "admin") {
echo "Hallo Administrator!";
} elseif ($user == "manager") {
echo "Hallo Manager!";
} elseif ($user == "user") {
echo "Hallo Benutzer!";
} else {
echo "Hallo Gast!";
}
/*
Verschiedene Fälle unterscheiden mit switch
*/
switch ($user) {
case "admin":
echo "Hallo Administrator!";
break;
case "manager":
echo "Hallo Manager!";
break;
case "user":
echo "Hallo Benutzer!";
break;
default:
echo "Hallo Gast!";
}
?>
elseif ist ein Kombinationsausdrück für else und if und spart lediglich Schreibarbeit. Bei der switch-Anweisung ist eine Fallunterscheidung (case) vorgesehen. Jeder Fall muss mit einem case eingeleitet und mit einem break abgeschlossen werden, abgesehen vom letzten Fall. Hier wird kein break benötigt. Der Standardfall (default) wird aufgerufen, wenn kein anderer Fall greift und ist optional.