Heredoc не работает <?php $information = <<<INFO Name: John Smith Address: 123 Main St City: Springville, CA INFO; echo $information; ?> Результат: Ошибка анализа: синтаксическая ошибка, неожиданный T_SL в строке 3 Ответ 1 Парсер жалуется, потому что у вас есть пробелы после угловых скобок, объявляющих heredoc. Вам нужно убедиться, что вы действительно следуете синтаксису heredoc, который вы можете найти на сайте PHP Manual (в частности: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc). <?php $information = <<<ENDHEREDOC this is my text ENDHEREDOC; echo $information; Ответ 2 Я только что редактировал ваш вопрос и исправил неверное форматирование (SO использует Markdown). Я узнал, что после <<<INFO - пробел, который вызывает ошибку. Удалите это пространство, и все должно работать нормально... хорошо - он должен хорошо работать. Ответ 3 Синтаксис Heredoc содержит некоторые строгие правила, которые мы должны рассмотреть; 1 - После открытия идентификатора не должно быть символа True "$a = <<<HEREDOC" False "<<<HEREDOC " //Remove space after opening identifier; 2 - не должно быть никакого другого символа после и до закрытия идентификатора, кроме разделителя с запятой ; True "HEREDOC;" False "HEREDOC ;" //Remove space between HEREDOC and ; False " HEREDOC;" //Remove space before HEREDOC False "HEREDOC; " //Remove space after ; Цепочка Heredoc. END;
Ответ 1 Парсер жалуется, потому что у вас есть пробелы после угловых скобок, объявляющих heredoc. Вам нужно убедиться, что вы действительно следуете синтаксису heredoc, который вы можете найти на сайте PHP Manual (в частности: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc). <?php $information = <<<ENDHEREDOC this is my text ENDHEREDOC; echo $information;
Ответ 2 Я только что редактировал ваш вопрос и исправил неверное форматирование (SO использует Markdown). Я узнал, что после <<<INFO - пробел, который вызывает ошибку. Удалите это пространство, и все должно работать нормально... хорошо - он должен хорошо работать.
Ответ 3 Синтаксис Heredoc содержит некоторые строгие правила, которые мы должны рассмотреть; 1 - После открытия идентификатора не должно быть символа True "$a = <<<HEREDOC" False "<<<HEREDOC " //Remove space after opening identifier; 2 - не должно быть никакого другого символа после и до закрытия идентификатора, кроме разделителя с запятой ; True "HEREDOC;" False "HEREDOC ;" //Remove space between HEREDOC and ; False " HEREDOC;" //Remove space before HEREDOC False "HEREDOC; " //Remove space after ; Цепочка Heredoc. END;