ich die switch-Anweisung Syntaxfehler bei http://php.net/manual/en/control-structures.alternative-syntax.phpWarum in einer alternativen-Syntax switch-Anweisung der Ausgabe nicht einen Syntaxfehler verursacht
Meine IDE (PhpStorm) erfaßt, um die Fehler beschrieben kürzlich angetroffen, aber es all nützlichen Kontext nicht vorsah zur Korrektur. Der Code hat sicherlich einen schwerwiegenden Fehler bei der Aufnahme der Datei als Vorlage verursacht.
Die Warnung Anleitung Seite:
Warning Any output (including whitespace) between a switch statement and the first case will result in a syntax error. For example, this is invalid:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
Whereas this is valid, as the trailing newline after the switch statement is considered part of the closing ?> and hence nothing is output between the switch and case:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
Das Handbuch Seite bietet keine Erklärung. Einige Benutzer comments on the page erklären auch nichts; Sie betonen einfach, dass Leerzeichen nicht erlaubt sind.
Warum ist das ein Syntaxfehler?
Mindestens eine meiner Fragen klingt für mich wie "Warum ist' == 'zum Vergleich verwendet", die Antwort ist nur "weil die Syntax so definiert ist" ... –
Ich denke, das stimmt , aber der Grund für den Vergleichsoperator ist, dass die Sprache einen braucht. Was ist der Grund für diese Qualität der Syntax? –
Kurze Antwort ist, weil es ein Syntaxfehler ist .. Aber lange anwser wird zu lang sein und Vorbedingung ist Automata Theorie .. – ern