Thomas: Verständnisfrage zu elseif

Hallo,

nehmen wir an, ich habe eine if und eine elseif Bedingung und beide treffen zu.
Wird die elseif-Bedingung überhaupt geprüft, oder da die erste if-Bedingung ja bereits zutrifft, einfach übersprungen?

  1. Hello,

    es gilt in aller Regel first come, first serve. Die erste Bedingung die zuschlägt gewinnt.
    Wenn mehrere ifs nacheinander durchlaufen werden sollen darfst du nicht auf else-Zweige ausweichen sondern muss sie sequenziell durchlaufen.

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    When the only tool you've got is a hammer, all problems start to look like nails.
  2. Moin!

    nehmen wir an, ich habe eine if und eine elseif Bedingung und beide treffen zu.
    Wird die elseif-Bedingung überhaupt geprüft, oder da die erste if-Bedingung ja bereits zutrifft, einfach übersprungen?

    Einfaches Ausprobieren hätte ergeben: Nein, elseif wird nicht angesprungen.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Danke, aber ich habe es ja ausprobiert und beide wurden abgefragt.
      Mir geht es nur darum, ob ich einen Fehler gemacht habe, oder ob das so normal ist.

      1. Moin!

        Danke, aber ich habe es ja ausprobiert und beide wurden abgefragt.

        Code?

        if (true) { echo "If 1 geht"; }  
        elseif (true) {echo "If 2 geht"; }  
        else { echo "nix geht"; }
        

        Ausgabe:
        If 1 geht

        Mir geht es nur darum, ob ich einen Fehler gemacht habe, oder ob das so normal ist.

        Ich tippe auf "Fehler", aber das ist im Moment nur geraten.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
  3. Yerf!

    nehmen wir an, ich habe eine if und eine elseif Bedingung und beide treffen zu.
    Wird die elseif-Bedingung überhaupt geprüft, oder da die erste if-Bedingung ja bereits zutrifft, einfach übersprungen?

    elseif besteht eigentlich aus 2 Befehlen:

    • erst dem else, das nur ausgeführt wird, wenn der vorherige if ein false als Bedingung hatte
    • dann die zusätzliche Bedingung per if.

    oder anders: nein, der elseif-teil wird nicht ausgewertet, wenn vorher schon die if-Bedingung true war.

    Gruß,

    Harlequin

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->