我正在测试以下代码。我正在使用PHP heredoc,但我从Dreamweaver收到错误。如果我手动编写它,它的工作原理。如果我复制粘贴它不起作用。那是为什么?
<?php
$e=<<<EOP
whoever
EOP;
$el=<<<EOG
whatever
EOG;
?>
答案 0 :(得分:5)
在您的上一个结束标识符后面有一个空格。
<?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
警告强> 请注意,除了分号(;)之外,具有结束标识符的行必须不包含其他字符,这一点非常重要。这尤其意味着标识符可能没有缩进,并且在分号之前或之后可能没有任何空格或制表符。认识到结束标识符之前的第一个字符必须是本地操作系统定义的换行符也很重要。这是在UNIX系统上的\ n,包括Mac OS X.结束分隔符后面还必须跟一个换行符。
答案 1 :(得分:1)
尝试在&#34; EOG;&#34;
之后删除空格<?php
$el=<<<EOG
whatever
EOG;
?>