Start · Sprachen · PHP · Kapitel · Kontrollstrukturen
// Kapitel · PHP

Kontrollstrukturen

if/else, switch und der moderne match-Ausdruck von PHP 8.

if / elseif / else

if ($alter < 18) {
    echo 'minderjährig';
} elseif ($alter < 65) {
    echo 'erwerbsfähig';
} else {
    echo 'im Ruhestand';
}

Ternärer Operator & Kurzform

$status = $isPaid ? 'bezahlt' : 'offen';

// Elvis-Operator (Kurzform):
$name = $user->name ?: 'Anonym';   // wenn $user->name falsy → 'Anonym'

switch (klassisch)

switch ($rolle) {
    case 'admin':
    case 'moderator':
        $level = 10;
        break;
    case 'user':
        $level = 1;
        break;
    default:
        $level = 0;
}

match (PHP 8.0+, moderner & sicherer)

match ist ein Ausdruck — er gibt einen Wert zurück. Er nutzt strict comparison (===), kein fall-through, und wirft einen Fehler bei nicht gematchten Werten:

$level = match ($rolle) {
    'admin', 'moderator' => 10,
    'user'               => 1,
    'guest'              => 0,
    default              => throw new InvalidArgumentException("Unbekannte Rolle: $rolle"),
};

Faustregel: Nutze match statt switch. Es ist prägnanter, typ-sicher und funktional.