Rolff: Parse error

Hi,

was ist hieran falsch?

... elseif (($frage != "1") && ($row[0] != "ja")) { ...

Ich bekomme diese Fehlermeldung:

Parse error: syntax error, unexpected T_BOOLEAN_AND in...

Grüße, Rolff

  1. Lieber Rolff,

    bist Du sicher, dass Du die richtige Zeile nennst? Manchmal liegt der tatsächliche Fehler eine Zeile davor, da seinetwegen die Folgezeile "missverstanden" wird und sich der Parser dann über eigentlich richtigen Code beschwert.

    ... elseif (($frage != "1") && ($row[0] != "ja")) { ...

    Sieht für mich im Grunde syntaktisch richtig aus.

    $frage != "1"

    Warum setzt Du die Eins in Quotes? Wenn Du nicht explizit auf einen String mit dem Inhalt der Ziffer Eins prüfen willst (und das tust Du hier auch nicht, sonst hättest Du $frage !== "1" notiert), kannst Du ruhigen Gewissens auch ohne Quotes notieren, da PHP intern ja sowieso immer Typenumwandlungen vornimmt.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo Felix,

      Sieht für mich im Grunde syntaktisch richtig aus.

      Ja, wars auch ;-)

      $frage != "1"

      Warum setzt Du die Eins in Quotes? Wenn Du nicht explizit auf einen String mit dem Inhalt der Ziffer Eins prüfen willst (und das tust Du hier auch nicht, sonst hättest Du $frage !== "1" notiert),

      Hätte ich das?
      Vielleicht hätte ich das dann müssen, bzw. muß ich es noch. Denn ich prüfe tatsächlich auf Stringinhalt.

      Warum muß ich es ändern?

      Grüße an Dich und danke, Rolff

      1. Lieber Rolff,

        in PHP ergeben folgende Vergleiche true:

        1 == "1"
        "" == false
        0 == false
        "0" == false

        Beweis:

        <?php  
        echo '<pre>1 == "1" : '."'".(1 == "1")."'\n",  
            '"" == false : '."'".("" == false)."'\n",  
            '0 == false : '."'".(0 == false)."'\n",  
            '"0" == false : '."'".("0" == false)."'\n",  
            "</pre>";  
        ?>
        

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. Hi,

    was ist hieran falsch?

    Es war nichts falsch.
    Ich hatte lediglich ins falsche Verzeichnis upgeloaded :-)
    Sorry für den Fehlalarm.