отладка — что за ошибка в следующем PHP-коде?

Я тестирую следующий код. Я использую PHP heredoc, но получаю сообщение об ошибке от Dreamweaver. Если я пишу это вручную, это работает. Если я копирую вставить, это не сработает. Это почему?

<?php

$e=<<<EOP
whoever
EOP;

$el=<<<EOG
whatever
EOG;
?>

-2

Решение

После вашего последнего закрывающего идентификатора есть пробел.

<?php

$e=<<<EOP
whoever
EOP;

$el=<<<EOG
whatever
EOG;
^ right there
?>
  • Это должно быть удалено.

Согласно документации http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

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

5

Другие решения

попробуйте удалить пробел после «EOG;»

<?php

$el=<<<EOG
whatever
EOG;

?>
1

По вопросам рекламы [email protected]