Ошибка разбора: синтаксическая ошибка, неожиданный конец $ в E: \ xampp \ htdocs \ announcements \ announce.php в строке 143 - PullRequest
3 голосов
/ 27 ноября 2009

Я получаю это сообщение об ошибке

Ошибка разбора: синтаксическая ошибка, неожиданная конец $ в E: \ XAMPP \ HTDOCS \ объявлений \ announcement.php по линии 143

Строка 143 - последняя строка файла PHP. Когда я комментирую

$htmlcode=<<<eod
<div>$question</div>
<div>$option1  $option2  $option3  $option4</div><br/>
eod;    
echo $htmlcode;

Ошибка ушла. Что не так?

Ответы [ 3 ]

4 голосов
/ 27 ноября 2009

У вас есть пробелы после eod;

Как указано в руководстве

Очень важно отметить, что строка с закрывающим идентификатором должна не содержат других символов, кроме возможно точка с запятой (;). Это означает тем более что идентификатор не может быть отступ, и не может быть никаких пробелы или табуляции до или после точка с запятой. Также важно понять, что первый персонаж перед закрывающим идентификатором должен быть новая строка, как определено местным операционная система. Это \ n в UNIX системы, включая Mac OS X. закрывающий разделитель (возможно с последующим точкой с запятой) также должны следовать по новой строке.

2 голосов
/ 27 ноября 2009

Что я узнал, что после вашего eod; у вас там было несколько пробелов.

Удалите пробелы, и все будет работать нормально.

Протестировано:

<?php
$htmlcode=<<<eod
<div>$question</div>
<div>$option1  $option2  $option3  $option4</div><br/>
eod;
echo $htmlcode;
?>
1 голос
/ 27 ноября 2009

Имена переменных внутри вашего блока heredoc с { и }, например, так:

$htmlcode=<<<eod
<div>{$question}</div>
<div>{$option1}  {$option2}  {$option3}  {$option4}</div><br/>
eod;
echo $htmlcode;

Проблема в том, что PHP подавляет тот факт, что у вас нет пробелов, отделяющих переменные $question и $option4 от открывающих < для закрывающих тегов div.

Кроме того, убедитесь, что после точки с запятой после вашего eod есть разделитель без . В этой строке допускается указывать только ваш разделитель и точку с запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...