PHP eval 和 heredoc 玩得不好



可能的重复:
HEREDOC,具有评估代码执行

所以我在function.php中有以下内容:

eval("$content = <<<TEMPLATEn
               asdf
nTEMPLATE;");

我一直在遇到一个错误:

Parse error: syntax error, unexpected $end, expecting T_VARIABLE or T_END_HEREDOC or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN in /var/www/function.php(10) : eval()'d code on line 5

我无法弄清楚问题是什么。显然,Heredoc语法有一个结局,Heredoc是否不喜欢与Eval一起玩?

HEREDOC语法由开始时定义的定界符结束,其次是半隆,,然后是Newline 。您没有新线,因此它没有被认为是Heredoc的终结。在TEMPLATE;之后添加额外的n,并且应该效果很好。

最新更新