🚀 Selbststudium: Kontrollstrukturen in PHP (`if`, `if-else`, `if-elseif-else`)

Ziel: Verstehen und Anwenden von bedingten Anweisungen, um den Programmfluss zu steuern.

1. Die einfache `if`-Anweisung (Selektion)

Die einfache `if`-Anweisung prüft eine **Bedingung**. Ist die Bedingung **wahr (`true`)**, wird der Code innerhalb der geschweiften Klammern ausgeführt. Ist sie falsch (`false`), wird der Block ignoriert.

Syntax

if (Bedingung) {
    // Code wird nur ausgeführt, wenn die Bedingung WAHR ist
}

Beispiel: Prüfung auf Bestehen

Wir prüfen, ob die Variable $punkte_test größer oder gleich 50 ist.

$punkte_test = 85;
if ($punkte_test >= 50) {
    echo "Herzlichen Glückwunsch! Sie haben den Test bestanden. <br>";
}
echo "Die weitere Ausführung des Programms.";

Aktuelle Ausgabe (mit $punkte_test = 85):

Herzlichen Glückwunsch! Sie haben den Test bestanden.
Programm wird weiter ausgeführt.

2. Die verzweigte `if-else`-Anweisung (Alternative)

Die `if-else`-Anweisung bietet zwei Pfade: Wird die Bedingung von `if` nicht erfüllt (`false`), springt das Programm automatisch in den `else`-Block.

Syntax

if (Bedingung) {
    // Code wird ausgeführt, wenn WAHR
} else {
    // Code wird ausgeführt, wenn FALSCH
}

Beispiel: Wochentags-Check

Prüfe, ob heute Wochenende ist (Freitag, Samstag oder Sonntag ist für uns Wochenende).

$wochentag = "Dienstag";
if ($wochentag == "Samstag" || $wochentag == "Sonntag" || $wochentag == "Freitag") {
    echo "Es ist Wochenende oder kurz davor. Chillen! <br>";
} else {
    echo "Es ist ein normaler Arbeitstag. Dranbleiben! <br>";
}

Aktuelle Ausgabe (mit $wochentag = "Dienstag"):

Es ist ein normaler Arbeitstag. Dranbleiben!

3. Die mehrfach verzweigte `if-elseif-else`-Anweisung (Mehrfach-Selektion)

Diese Struktur ermöglicht die Prüfung mehrerer voneinander abhängiger Bedingungen. Sobald **eine Bedingung** erfüllt ist, werden die restlichen `elseif`- und der `else`-Block **ignoriert**.

Syntax

if (Bedingung 1) {
    // Wenn Bedingung 1 WAHR
} elseif (Bedingung 2) {
    // Wenn Bedingung 1 FALSCH, aber Bedingung 2 WAHR
} elseif (Bedingung 3) {
    // Wenn Bedingung 1 und 2 FALSCH, aber Bedingung 3 WAHR
} else {
    // Wenn KEINE der Bedingungen WAHR war
}

Beispiel: Alterskontrolle für den Event-Planer

Regeln: Über 18 (Voller Zugang), 16 bis 18 (Eingeschränkter Zugang), unter 16 (Kein Zugang).

$alter = 17;
if ($alter >= 18) {
    echo "Zugang gewährt: Volle Funktionen verfügbar (Tickets kaufen). <br>";
} elseif ($alter >= 16) {
    echo "Eingeschränkter Zugang: Nur Browsing-Funktionen (Konzerte ansehen). <br>";
} else {
    echo "Zugang verweigert: Sie sind unter 16 Jahren. <br>";
}

Aktuelle Ausgabe (mit $alter = 17):

Eingeschränkter Zugang: Nur Browsing-Funktionen (Konzerte ansehen).

4. 🎯 Anwendungsaufgaben zum Selbststudium

Aufgabe A: Einfache `if` (Tickets & VIP-Status)

Szenario: Im Event-Planer erhalten VIP-Kunden einen speziellen Hinweis.

Code-Setup: $kunde_vip = false;

Anweisung: Erstellen Sie eine **einfache `if`-Anweisung**, die prüft, ob die Variable $kunde_vip **wahr** ist. Wenn ja, geben Sie aus: **"Willkommen VIP-Kunde! Sie haben Zugriff auf Pre-Sales-Tickets."**

Ihre Lösung (Überprüfen Sie den Code durch Ändern von $kunde_vip oben):

Normaler Kunde. Kein VIP-Zugriff.

Aufgabe B: Mehrfach verzweigte `if-elseif-else` (Notenberechnung)

Szenario: Das System soll die Note basierend auf der erreichten Punktzahl des Tests ($punkte_test) ausgeben.

Code-Setup: $punkte_test = 85;

Anweisung: Nutzen Sie eine **mehrfach verzweigte `if`-Anweisung** (`if-elseif-else`), um die Note nach folgendem Schema auszugeben:

Ihre Lösung (Überprüfen Sie den Code durch Ändern von $punkte_test oben):

Mit 85 Punkten haben Sie die Note: 2 (Gut).

🎯 Interaktive Anwendungsaufgaben

Geben Sie die Testpunkte ein und setzen Sie den VIP-Status, um die Funktionsweise der if-Anweisungen direkt zu testen.

📋 Aktuelle Ergebnisse der if-Anweisungen:

Aufgabe A: VIP-Status (Einfache `if`) Normaler Kunde. Kein VIP-Zugriff.
Aufgabe B: Notenberechnung (Verzweigte `if-elseif-else`) Mit **85** Punkten ergibt sich die Note: **2 (Gut)**.