veröffentlicht am: 01.05.2020 zuletzt aktualisiert am: 07.02.2023
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 PHP if, elseif und else zur Verfügung.Wie du diese verwenden kannst, zeige ich dir in diesem Beitrag.
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
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
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
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 ?>
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
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
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'; }
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.
Neben der Verzweigung mithilfe von PHP if steht dir auch noch die Möglichkeit der Implementierung einer PHP Switch Case Anweisung zur Verfügung.
Hast du noch Fragen oder Kritik? Anregungen oder Lob? Tobe dich doch mit der Kommentarfunktion aus!
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python, Java & SQL und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig