if - else if - else - anfängerproblem
theresa
- php
hallo forum!
ich habe folgende schleife:
$var1 = "1";
$var2 = "1";
if ($var == "1") {print "case 1";}
else if ($var2 == "1") {print "case 2";}
else if ($var == "1" && $var2 == "1") {print "case 3";}
else {print "case 4";}
case 1...OK
case 2...OK
case 3...wird nicht berücksichtigt
case 4...OK
hab ich die schleife falsch aufgebaut?
geht das evtl. nur mit einer else if-weiche?
danke für eure hilfe,
theresa
Moin theresa,
else if ($var == "1" && $var2 == "1") {print "case 3";}
wo ist $var definiert?
regds
Mike©
hi mike!
sorry, verschrieben. sollte var1 heissen...
lg,
theresa
hallo theresa,
ist doch alles prima,
muss du aber entweder
else {
if (){
}
else {
}
}
oder besser gleich:
if () {
}
elseif () {
}
elseif () {
}
elseif () {
}
else {
}
also geschweift Klammern fehlen da unten.
Gruß Frankx
Hallo!
dieses Script sollte nur "case 2" ausgeben da du $var1 wohl mit $var (ohne 1) vertauschst.
auch sonst macht das Ganze nicht viel Sinn. Denn wenn du überall $var durch $var1 ersetzt gibts auch nur "case 1".
case 3 kann dann nie ausgegeben werden.
was du möchtest ist entweder:
if ($var1 == "1") {print "case 1";}
if ($var2 == "1") {print "case 2";}
if ($var1 == "1" && $var2 == "1") {print "case 3";}
if (!($var1 == "1" OR $var2 == "1")) {print "case 4";}
oder aber
if ($var1 == "1" && $var2 == "1") {print "case 3";}
elseif ($var1 == "1") {print "case 1";}
elseif ($var2 == "1") {print "case 2";}
else {print "case 4";}
Gruss Chälli
Shalom!
if ($var1 == "1") {print "case 1";}
Hiermit überprüfst Du, ob $var1 den Wert "1" hat; alle folgenden else-Blöcke werden also nur ausgeführt, wenn dem nicht so ist.
else if ($var2 == "1") {print "case 2";}
Das funktioniert...
else if ($var1 == "1" && $var2 == "1") {print "case 3";}
... aber hier steht ein Widerspruch: Der Block wird nur ausgeführt, wenn var1 den Wert "1" hat (steht hier) und gleichzeitig nicht den Wert "1" hat (siehe oben) - also niemals.
Viele Grüße vom Længlich
P.S. Ich habe überall $var durch $var1 ersetzt, wo es vorkam - das habe ich aus den vorigen Postings doch richtig verstanden, oder?
Hallo theresa.
hab ich die schleife falsch aufgebaut?
Welche Schleife?
Du hast hier lediglich eine Abfrage (if, else if, else), eine Schleife (while, do while, for, foreach) ist das nicht.
Einen schönen Dienstag noch.
Gruß, Ashura
Moin Ashura,
Welche Schleife?
das hatte ich mir diesmal verkniffen.Gibt es da nicht auch einen schicken Link zum Thema "if schleifen"- Habe ihn gerade nicht parat.
regds
Mike©
Hallo Mike©.
Gibt es da nicht auch einen schicken Link zum Thema "if schleifen"- Habe ihn gerade nicht parat.
Hm, ich weiß nicht, welchen genau du meinst; ich finde auf die schnelle etwa 462.000 Möglichkeiten.
Einen schönen Dienstag noch.
Gruß, Ashura
Moin Ashura,
ich finde auf die schnelle etwa 462.000 Möglichkeiten.
darf man angeben? ;-)
ich dachte in etwa an so etwas:
http://www.php-faq.de/q/q-terminologie-if.html
Aber ich habe da noch was deftigeres in Erinnerung.
regds
Mike©
Hallo Mike©.
ich finde auf die schnelle etwa 462.000 Möglichkeiten.
darf man angeben? ;-)
Nennen oder protzen?
ich dachte in etwa an so etwas:
http://www.php-faq.de/q/q-terminologie-if.html
Aber ich habe da noch was deftigeres in Erinnerung.
Dann vielleicht im hiesigen Archiv?
Einen schönen Dienstag noch.
Gruß, Ashura