theresa: if - else if - else - anfängerproblem

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

  1. Moin theresa,

    else if ($var == "1" && $var2 == "1") {print "case 3";}

    wo ist $var definiert?

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
    1. hi mike!

      sorry, verschrieben. sollte var1 heissen...

      lg,
      theresa

  2. 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

  3. 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

  4. 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?

  5. 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

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/ mathbr:w00t/
    1. 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©

      --
      Freunde kommen und gehen. Feinde sammeln sich an.
      1. 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

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/ mathbr:w00t/
        1. 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©

          --
          Freunde kommen und gehen. Feinde sammeln sich an.
          1. 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

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            mathbr:del.icio.us/ mathbr:w00t/