我正在使用 HEREDOC 将一些文本包含到邮件 PHP 函数的正文中。
但是,我收到此错误:
“PHP 解析错误:语法错误,意外的 T_SL 在...”
错误是指包含文件的 HEREDOC 部分:
<?php
$message = <<<EOD <html></body>Dear $firstName $lastName,
Sincerely,
Customer Service
EOD;?>
我写这篇文章的方式有什么问题吗?
谢谢!
<?php
$message = <<<EOD
<html><body>Dear {$firstName} {$lastName},
Sincerely,
Customer Service
EOD;
?>
使用heredoc语法,除了开始标识符之后的新行之外应该没有任何内容,<<<EOD
甚至没有空格,并且您希望将变量包装在花括号中。结束标识符EOD;
之前应该没有空格,并且应该跟一个新行。
<?php
$message = <<<EOD
<html></body>Dear $firstName $lastName,
Sincerely,
Customer Service
EOD;
?>
改变
EOD;?>
至
EOD;
?>
为什么?
引用 PHP 文档:
需要注意的是,带有结束标识符的行不能包含其他字符,分号 (;) 除外。这尤其意味着标识符可能不会缩进,并且分号之前或之后可能没有任何空格或制表符