php - 为什么这些Heredoc和Nowdoc会出错呢?

标签 php heredoc nowdoc

我已经找到了一些解决方案,但不知道发生了什么......

示例 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/

相关文章:

bash 多个 heredocs 等

javascript - 在 Javascript 中使用长字符串文字的最佳方法是什么?

php - 如何在heredoc文本中包含php变量旁边的文本

javascript - CKEditor 的上传图片插件有回调函数吗?

Javascript location.reload() 丢失参数(空 $_GET)

bash - 如何在 bash heredocs 中抑制变量替换

php - 输出到文件时转义 "<?php"和 "?>"- nowdoc/heredoc

php - sprintf 参数交换和 HEREDOC

php - 检索数据库中的表到 phpexcel

php - MYSQL可自定义加入和选择