Die if-Anweisung dient dazu, anhand einer Bedingung, z. B. des Werts einer Variablen, des Rückgabewerts einer Funktion oder des Wahrheitswerts eines booleschen Werts, zu entscheiden, ob die nachfolgende Anweisung ausgeführt werden soll oder nicht.
Definition
if (Bedingung/Ausdruck)
Anweisung;
Bild 3.3: Ablaufschema einer if-Anweisung
Beispiel
$punkteStand = 100;
// Schreibweise
if ($punkteStand == 100)
echo "Vorhanden!";
// Schreibweise (ebenfalls möglich)
if ($punkteStand == 100) echo "Vorhanden!";
Sie können die if-Anweisung wie folgt übersetzen:
»Wenn (if) die Bedingung erfüllt (true liefert, also die Variable $punkteStand existiert), dann führe die Anweisung aus (Variable kommt zustande mit dem Wert "Vorhanden!"). Ist die Bedingung nicht erfüllt, führe die Anweisung nicht aus.«
Hinweis: Die if-Anweisung entscheidet über die Ausführung der direkt nachfolgenden Anweisung bzw. des nachfolgenden Anweisungsblocks. Üblicherweise rückt man die betreffenden Anweisungen im Quelltext um zwei bis drei Leerzeichen ein. Dies dient jedoch ausschließlich der besseren Lesbarkeit des Codes, auf die Ausführung der if-Anweisung hat die Einrückung keinen Einfluss.
Wenn Sie mit einer if-Anweisung nicht nur die Ausführung einer einzelnen, sondern mehrerer aufeinanderfolgender Anweisungen steuern wollen, müssen Sie die betreffenden Anweisungen in geschweifte Klammern setzen.
Definition
if (Bedingung/Ausdruck) {
Anweisung/en;
}
$punkteStand = 100;
// Anweisungsblock
if ($punkteStand == 100) {
echo "Vorhanden!";
$bonus = 50;
}
Hinweis: Eine Folge von Anweisungen, die in geschweifte Klammern eingefasst ist, bezeichnet man als Anweisungsblock. Einige Programmierer würden dies auch als zusammengesetzte Anweisungen bezeichnen. Es bleibt Ihnen überlassen, wie Sie das Gebilde nennen.
Alternative Syntax
In PHP steht Ihnen für die if-Anweisung eine alternative Schreibweise zur Verfügung.
Definition
if (Bedingung/Ausdruck): Anweisung; endif;
Beispiel – alternative Schreibweise
$vorname = "Caroline";
if ($vorname == "Caroline"):
echo "Name: $vorname";
echo "Mehrzeilig!";
endif;
Verwechslung von == und = vermeiden
Um Verwechslungen beim Durchführen von Vergleichen innerhalb von if-Anweisungen zu vermeiden, sollten Sie sich folgenden Rat zu Herzen nehmen:
Schreiben Sie anstatt
<?
$mitarbeiter = 10;
if ($mitarbeiter == 10) { echo "10 Mitarbeiter"; }
?>
besser:
<?
$mitarbeiter = 10;
if (10 == $mitarbeiter) { echo "10 Mitarbeiter"; }
?>
Denn sollten Sie die Konstante auf der linken Seite mit einem Zuweisungsoperator versehen, wird der PHP-Interpreter eine Fehlermeldung ausgeben.
<?
$mitarbeiter = 10;
// Führt zu:
// parse error, unexpected '='
if (10 = $mitarbeiter) { echo "10 Mitarbeiter"; }
?>
Die Gefahr, durch einen Eingabefehler falsche Werte zu erhalten, verringert sich hierdurch und Sie können relativ sicher sein, innerhalb von if-Anweisungen keine falsch platzierten Zuweisungen vorliegen zu haben.
Hinweis: Diese Schreibweise hat sich in vielen Fällen jedoch nicht durchgesetzt. Es scheint eine Frage des Geschmacks zu sein, da eine Vielzahl von PHP-Entwicklern doch lieber ihrem eigenen Können vertrauen.
|