Announcement

Collapse
No announcement yet.

PHP und Simikolon

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PHP und Simikolon

    Hallo,
    kann man mir jemand sagen, woher man weiss, wann man bei PHP Simikolons setzen muss und wann nicht?
    Hatte zuerst folgenden Code, welchen ich hier von dem PHP Tutorial nachprogrammiert hatte:

    PHP Code:
    <?php
    if($alter>18)
        { echo 
    "Volljährig!"};
    ?>
    Der war aber falsch. Es muss hinter dem echo ein Simikolon und nicht hinter das if. Ja aber warum nicht hinter das if, bzw die } Klammer?
    Das macht doch keinen Sinn? Mal kommt eins hin und mal nicht?
    Bitte um hilfe!

  • #2
    Auch hallo,

    i.A. schliesst ein Semikolon einen Befehl ab. Vgl. mit http://www.php-lernen.org/php-if-anweisung.html müsste der Code so lauten:
    Code:
    <?php
    if($alter>18)
        { 
         echo "Volljährig!";
        }
    ?>
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Hallo,
      Originally posted by phpnewbie View Post
      ...Der war aber falsch. Es muss hinter dem echo ein Simikolon und nicht hinter das if. Ja aber warum nicht hinter das if, bzw die } Klammer?
      Das macht doch keinen Sinn? Mal kommt eins hin und mal nicht?
      Jeder Befehl wird in PHP mit einem Semikolon abgeschlossen! Der Fehler lag also nicht daran, dass du ein Semikolon hinter die schließende geschweifte Klammer gesetzt hast, sondern das eines hinter dem ECHO-Befehl gefehlt hat.
      Die Schreibweise:
      PHP Code:
      <?php
      if($alter>18) { 
        echo 
      "Volljährig!";
      };
      ?>
      ist also syntaktisch völlig korrekt.
      Es gibt jedoch einige Stellen, hinter denen man das Semikolon weglassen kann. Das sind die Stellen, die von sich auch eindeutig das Ende eines Befehls kennzeichnen. Solche Stellen sind z.B. die schließende geschweifte Klammer, bzw. direkt vor dem ?>.
      Der Ausdruck:
      PHP Code:
      <?php
      if($alter>18) { 
        echo 
      "Volljährig!";
      }
      ?>
      ist also genauso korrekt wie:
      PHP Code:
      <?php
      if($alter>18) {
        echo 
      "Volljährig!";
      }
      else
        echo 
      'nicht volljährig'

      ?>
      Wenn man es also einheitlich machen will, dann kann man in PHP hinter jeden Befehl getrost ein Semikolon setzen.

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X