Jörg Lorenz schrieb am 07.November.2005, 07:37:58 in der Kategorie web.coding
if (Ausdruck == 1)
bla
elseif (Ausdruck == 2)
blabla
...
> der Ausdruck bei jedem if erneut ausgewertet.
Stimmt das wirklich so ganz?
Folgendes Beispiel:
i = 5
If i < 6 Then
MsgBox \"a\"
ElseIf i < 10 Then
MsgBox \"b\"
ElseIf i < 20 Then
MsgBox \"c\"
Else
MsgBox \"d\"
End If
Hier wird nur die Msgbox \"a\" erscheinen, weil die Bedingung erfüllt ist. Der Rest wird dann ignoriert, also nicht nochmal abgearbeitet.
Ebenso in PHP:
$i = 5;
if ($i < 6) {
echo \"a\";
} elseif ($i < 10) {
echo \"b\";
} elseif ($i < 20) {
echo \"c\";
} else {
echo \"d\";
}
Es wird nur \"a\" ausgegeben, obwohl bei den anderen Ifs die Bedingungen auch erfüllt sind.
Anders sieht es natürlich bei diesem Konstrukt aus:
$i = 5;
if ($i < 6) {
echo \"a\";
}
if ($i < 10) {
echo \"b\";
}
if ($i < 20) {
echo \"c\";
}
Aber das ist ja auch klar, weil es sich ja hier immer um eine neue If-Anweisung handelt.