PHP switch $_SERVER[‚QUERY_STRING‘] vs. $_GET[‚WERT‘]

In PHP kann man zwei Varianten für den Switch verwenden, hier eine kurze Erklärung mit den Vor- und Nachteilen beider Varianten. Aufgrund der etwas besseren Lesbarkeit wurde der Code nicht zusammen gequetscht.

Beispiel 1: $_SERVER[‚QUERY_STRING‘]

<?php
switch($_SERVER['QUERY_STRING']) {
case 'beispiel1':
print 'Beispiel 1';
break;

case 'beispiel2':
print 'Beispiel 2';
break;

case 'beispiel3':
print 'Beispiel 3';
break;

default:
print 'Anderes Beispiel';
break;
}
?>

Im Browser aufrufbar mit /?beispiel1
Vorteil: keine Parameter wie seite=home wie es bei dem nächsten Beispiel wäre
Nachteil: kein anhängen weiterer Parameter möglich, wobei es bestimmt durch etlichen Code realisierbar wäre

Beispiel 2: $_GET[‚WERT‘]

<?php
switch($_GET['seite']) {
case 'beispiel1':
print 'Beispiel 1';
break;

case 'beispiel2':
print 'Beispiel 2';
break;

case 'beispiel3':
print 'Beispiel 3';
break;

default:
print 'Anderes Beispiel';
break;
}
?>

Im Browser aufrufbar mit /?seite=beispiel1
Vorteil: Parameter können durch einen weiteren Switch-Block angehängt werden (seite=beispiel1&sprache=deutsch) siehe Beispiel 3
Nachteil: nicht so kurz wie in Beispiel 1

Beispiel 3: weitere $_GET[‚WERT‘]

<?php
switch($_GET['seite']) {
case 'beispiel1':
print 'Beispiel 1';
break;

case 'beispiel2':
print 'Beispiel 2';
break;

case 'beispiel3':
print 'Beispiel 3';
break;

default:
print 'Anderes Beispiel';
break;
}

switch($_GET['sprache']) {
case 'deutsch':
print 'Dieser Text ist in deutscher Sprache';
break;

case 'english':
print 'This text is in english';
break;

default:
print 'Dieser Text ist in deutscher Sprache';
break;
}
?>

Im Browser aufrufbar mit /?seite=beispiel1&sprache=deutsch bzw. /?seite=beispiel1&sprache=english
Vorteil: Parameter können durch einen weiteren Switch-Block angehängt werden (seite=beispiel1&sprache=deutsch)
Nachteil: nicht so kurz wie in Beispiel 1

Andere Formatierung

switch ($_GET['seite']):
    case beispiel1:
        print 'Beispiel 1';
        break;
    case beispiel1:
        print 'Beispiel 2';
        break;
    case beispiel3:
        print 'Beispiel 3';
        break;
    default:
       print 'Anderes Beispiel';
endswitch;

Alle Angaben ohne Gewähr.
Getestet mit aktueller PHP-Version

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Alex Haack
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.