我已经找到了一些解决方案,但不知道发生了什么......
示例 1:
<?php
echo <<< EOD
test
EOD;
示例 2:
<?php
echo <<< 'EOD'
test
EOD;
输出 1,2:
PHP Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or heredoc end (T_END_HEREDOC) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN)
示例 3:
<?php
echo <<< EOD
test
EOD;
?>
示例 4:
<?php
echo <<< 'EOD'
test
EOD;
?>
示例 5:
<?php
echo <<< EOD
test
EOD;
'dummy';
示例 6:
<?php
echo <<< 'EOD'
test
EOD;
'dummy';
输出 3、4、5、6:
test
最佳答案
在前两个示例中,您可能在终止符之后有空格,例如
EOD;[space]
有了这个:
<?php
echo <<<EOL
test
EOL;[space]
我收到了您的错误消息,但是没有 空格,没有错误。无论是否有结束符 ?>
都是如此。
关于php - 为什么这些Heredoc和Nowdoc会出错呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16745654/