在以下代码中:
$email_body =
"message from $name \n"
"email address $visitor_email \n"
"\n $message";
由于意外的"
,第四行产生了解析错误,但引号似乎已正确配对。那么,为什么(最后一个?)最后一行中的一个“意外”呢?
我希望$ email_body的结果是:
message from $name
email address $visitor_email
$message
我浏览了php.net/manual上的语法页面,并在此处阅读了单引号和双引号的问题。我在字符串的开头找不到换行符的任何例外,但这似乎是事实。有人可以澄清吗?
答案 0 :(得分:1)
除非您使用.
将它们重新连接在一起,否则不要像这样将字符串分解!
那么,要么:
$email_body =
"message from $name \n
email address $visitor_email \n
\n $message"; // also the whole string on one line is fine
或
$email_body =
"message from $name \n"
. "email address $visitor_email \n"
. "\n $message";
答案 1 :(得分:0)
运行它时,错误出现在第三行,而不是第四行。
这里的问题是您在另一个字符串文字旁边有一个字符串文字,并且它们之间没有运算符。
这是错误的:
"foo" "foo"
原样:
"foo"
"foo"
您可以执行以下操作:
"foo" . "foo"
或
"foo" .
"foo"
答案 2 :(得分:0)
您的错误是
第5行的错误:解析错误,意外 T_CONSTANT_ENCAPSED_STRING(“电子邮件地址$ visitor_email \ n”
这是您的错误开始的地方
$email_body =
"message from $name \n" // This line you need to add concatination
"email address $visitor_email \n"
然后您的代码将如下所示
<?php
$email_body =
"message from $name \n".
"email address $visitor_email \n".
"\n $message";