PHP Einsteigerkurs - Grundlagen der PHP/MySQL Programmierung in 5 Tagen verstehen
echo
1;
}
else {
echo
0;
}
echo "
";
$myTrueValue = "";
if ($myTrueValue) {
echo
1;
}
else {
echo
0;
}
?>
Ausgabe:
1
0
Bei der ersten if Abfrage hat die Variable einen Inhalt, daher wird der
if-Block und nicht der else-Block ausgeführt. Bei der zweiten Überprüfung ist
die Variable leer. Gibt man keine Bedingungen wie == oder !=, … an, so wird
überprüft, ob die Variable leer ist oder einen boolschen Wert enthält. Als
boolschen Wert versteht man in der Programmierung eine Variable oder einen
Wert, der entweder true oder false, bzw. 0 oder 1 sein kann.
Hier das vorherige Beispiel etwas erweitert:
$myTrueValue = "meinTest";
if ($myTrueValue) {
echo
1;
}
else {
echo
0;
}
echo "
";
$myTrueValue = false;
if ($myTrueValue) {
echo
1;
}
else {
echo
0;
}
echo "
";
$myTrueValue = 0;
if ($myTrueValue) {
echo
1;
}
else {
echo
0;
}
?>
Ausgabe:
1
0
0
Weiters ist es oft sehr wichtig zu wissen, ob eine Variable überhaupt
existiert, also im Programmablauf bereits einmal initialisiert wurde:
$meineVariable = "123";
if (isset($meineVariable)) {
echo
"meineVariable existiert";
}
else {
echo
"meineVariable existiert nicht";
}
?>
Ausgabe:
meineVariable existiert
$meineVariable = "123";
if (isset($andereVariable)) {
echo
"andereVariable existiert";
}
else {
echo
"andereVariable existiert nicht";
}
?>
Ausgabe:
andereVariable existiert nicht
Fallunterscheidung (Switch/Case)
Nehmen wir an, wir haben eine Variable und möchten diese auf viele
verschiedene Inhalte überprüfen. Wir kennen bereits die Funktion
if-elseif-else. Es wird aber schnell unübersichtlich und es ist viel einfacher
redundanter Code zu schreiben, um nur eine einzelne Variable zu überprüfen.
Hier gibt es die praktische Funktion Switch-Case, die wie folgt programmiert
wird:
$username =
$_GET["username"];
switch ($username) {
case
"Klaus":
echo
"Hallo Administrator!";
break;
case
"Dagmar":
echo
"Hallo Schwester!";
break;
case
"Bill Gates":
echo
"Hallo reichster Mann der Welt!";
break;
default:
echo
"Hallo Besucher!";
break;
}
?>
Wie wir sehen, ist der Kopf der Funktion ähnlich einer if Funktion
aufgebaut, nur müssen keine Bedingungen definiert werden. Danach gibt es
mehrere case Blöcke, die jeweils mit einem break; abgeschlossen werden müssen.
Das bricht die Überprüfung auf weitere Fälle (cases) ab.
Trifft keine case Bedingung zu, wird der default Block ausgeführt. Wenn man
keine breaks verwendet, könnte man auch für mehrere Fälle den selben Codeblock
ausführen:
$username =
$_GET["username"];
switch ($username) {
case
"Klaus":
case
"Dagmar":
echo
"Hallo Administrator!";
break;
case
"Bill Gates":
echo
"Hallo reichster Mann der Welt!";
break;
default:
echo
"Hallo Besucher!";
break;
Weitere Kostenlose Bücher