Du liest:
Bedingungen in PHP: if, else und else if Anweisungen

Bedingungen in PHP: if, else und else if Anweisungen

von Patrick
01.05.2020
Jetzt PHP programmieren lernen

Für die meisten Codezeilen müssen erst bestimmte Bedingungen eintreten, damit deren Ausführung sinnvoll wird. Um zu überprüfen, ob diese Bedingungen bestehen, stehen uns unter anderem die PHP Schlüsselwörter if, elseif und else zur Verfügung.
Wie du diese verwenden kannst, zeige ich dir in diesem Beitrag.

1. if Anweisungen

1.1 PHP if

Mit if kannst du eine Bedingung formulieren, die zur Ausführung des folgenden Codes erfüllt werden muss.

$zahl = 1;
if ($zahl > 0) {
    echo "zahl ist größer als 0";
}
// zahl ist größer als 0

1.2 PHP else

Du kannst else verwenden, um Code zu schreiben, der nur ausgeführt wird, wenn die Bedingung in if nicht zutrifft.

$zahl = 0;
if ($zahl > 0) {
    echo "zahl ist größer als 0";
} else {
    echo "zahl ist kleiner als 0";
}
// zahl ist kleiner als 0

1.3 PHP elseif / else if

Mit elseif bzw. else if kannst du weitere Bedingungen formulieren.

$zahl = 0;
if ($zahl > 0) {
    echo "zahl ist größer als 0";
} elseif ($zahl == 0) {
    echo "zahl ist gleich 0";
} else {
    echo "zahl ist kleiner als 0";
}
// zahl ist gleich 0

1.4 alternative Schreibweise

Statt eine if Anweisung mit geschweiften Klammern zu formulieren, kannst du auch den Doppelpunkt und das Schlüsselwort endif verwenden.

$zahl = 0;
if ($zahl > 0):
    echo "zahl ist größer als 0";
elseif ($zahl == 0):
    echo "zahl ist gleich 0";
else:
    echo "zahl ist kleiner als 0";
endif;
// zahl ist gleich 0

In diesem Fall muss elseif zusammengeschrieben werden, da die Schreibweise else if einen Fehler auslösen würde.
So kannst du eine if Anweisung auch in kürzere PHP-Blöcke integrieren und HTML-Code direkt zurückgeben.

<?php if ($zahl > 0): ?>
    <span>zahl ist größer als 0</span>
<?php elseif ($zahl == 0): ?>
    <span>zahl ist gleich 0</span>
<?php else: ?>
    <span>zahl ist kleiner als 0</span>
<?php endif ?>

2. Operatoren statt if Anweisungen verwenden

2.1 Der bedingte (ternäre) Operator

Für kürzere if Anweisungen kannst du den bedingten Operator, auch ternärer Operator genannt, verwenden.

Bedingung ? Wert, wenn true : Wert, wenn false

Praktisch lässt sich das so anwenden:

$zahl = 1;
echo (1 == $zahl) ? 'Ja' : 'Nein';
// Ja
echo (0 == $zahl) ? 'Ja' : 'Nein';
// Nein

Theoretisch kannst du mit dem ternären Operator auch überprüfen, ob eine Variable einen Wert enthält. Zu beachten ist, dass der Operator nur überprüft, ob der übergebene Wert bei einer Überprüfung true ergibt. Das bedeutet, dass manche Werte unter Umständen ein unerwartetes Ergebnis liefern.

echo 'Wert' ?: 'false';
// Wert
echo '' ?: 'false';
// false
echo 0 ?: 'false';
// false
echo NULL ?: 'false';
// false

2.2 Der Null-Koaleszenz-Operator

Statt Variablen mit dem ternären Operator zu überprüfen, kannst du auch den sogenannten Null-Koaleszenz-Operator (??) verwenden.

Variable ?? Wert, wenn Variable NULL oder ungesetzt

Praktisch kann dieser so angewendet werden:

echo 'Wert' ?? 'Standartwert';
// Wert
echo '' ?? 'Standartwert';
//
echo 0 ?? 'Standartwert';
// 0
echo NULL ?? 'Standartwert';
// Standartwert
echo $xyz ?? 'Standartwert';
// Standartwert

3. Und-Operator anstelle von Verschachtelungen

Um eine Variable auf mehrere Bedingungen zu überprüfen, kannst du innerhalb einer if Anweisung eine weitere if Anweisung verwenden.

if($zahl > 5) {
    if($zahl < 10) {
        echo 'zahl ist zwischen 5 und 10';
    }
}

Dies kann jedoch etwas unübersichtlich werden. Stattdessen kannst du auch den Und-Operater && innerhalb deiner Bedingung verwenden.

if($zahl > 5 && $zahl < 10) {
    echo 'zahl ist zwischen 5 und 10';
}

4. Fazit – PHP if / else if

Mit if, elseif und else kannst du einfach überprüfen, ob bestimmte Bedingungen zutreffen. Für kürzere Überprüfungen kannst du auch den ternären Operator verwenden. Wenn du nur überprüfen willst, ob eine Variable gesetzt und nicht NULL ist, ist hierfür der Null-Koaleszenz-Operator am besten geeignet.

Hast du noch Fragen oder Kritik? Anregungen oder Lob? Tobe dich doch mit der Kommentarfunktion aus!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren