Niedawno napotkał błąd składni oświadczenie przełącznik opisany w http://php.net/manual/en/control-structures.alternative-syntax.phpDlaczego wyjście w instrukcji switch alternate-składni spowodować błąd składni
mojego IDE (phpstorm) wykryto błąd, ale nie podała żadnych użytecznych kontekst do korekty. Kod z pewnością spowodował błąd krytyczny podczas dołączania pliku jako szablonu.
ostrzeżenie stronę podręcznika użytkownika:
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 ?>
Strona podręcznik oferuje żadnych wyjaśnień. Jakiś użytkownik comments on the page również niczego nie wyjaśnia; po prostu powtarzają, że białe spacje są niedozwolone.
Dlaczego jest to błąd składniowy?
Przynajmniej moim zdaniem, takie pytanie brzmi dla mnie "dlaczego jest' == "używane do porównania", odpowiedź brzmi "ponieważ składnia jest zdefiniowana w ten sposób" ... –
Myślę, że to prawda , ale powodem dla operatora porównania jest to, że język go potrzebuje. Jaki jest powód tej jakości składni? –
Krótka odpowiedź brzmi, ponieważ błąd składni it'a. Ale długi czas oczekiwania będzie zbyt długi, a warunkiem wstępnym jest teoria automatów. – ern