是否有一种方法可以将数组数据直接格式化为文本电子邮件正文中使用的变量


Is there a way to format array data directly into a variable to be used in the body of a text e-mail?

我有一个数组,它收集这样传递的问题字符串:

$myQuestionsPass = array ( " Question 1 passed! " );
if ( $isQ2 == Yes ) {
$myQuestionsPass[] = " Question 2 passed! " ;
}

在这个数组填充了传递数据并填充数组的问题之后,然后我想将$myQuestionsPass的所有数组数据直接转储到文本邮件中,并将其列在基于文本的电子邮件中,如下所示:

Email output- Congrats
Question 1 passed!
Question 2 passed!
and so on....

这就是我所拥有的,它做了一切,除了它没有将每一块数据分离到基于文本的电子邮件正文中的新下一行…(echoprint_r返回到我不想要的屏幕,foreach一直循环,当我试图将变量传递给邮件程序时,它只是显示分配给$myQuestionsPass的数组中的最后一个问题)

$myQuestionsPass = implode( ",",$myQuestionsPass);

我的邮件…

$body = "Email output- Congrats
         $myQuestionsPass"

生成的文本邮件如下所示:

Email output- Congrats
Question 1 passed! , Question 2 passed! , Question 3 passed! , Question 4 passed! , and so on....

而不是我想要的数组显示:

Email output- Congrats
Question 1 passed!
Question 2 passed!
Question 3 passed!
so on....

如果我尝试使用换行标记和换行(br),则在电子邮件中显示为文本…

任何帮助将不胜感激,我一直在寻找这个一段时间,这是发布的沮丧!提前感谢任何建议!

我不确定我是否完全理解,但你想在电子邮件中输出数组?

$body="Email output- Congrats'n";
foreach ($myQuestionsPass as $questionPass) {
     $body.=$questionPass."'n";
}
mail("steve@example.com","Results",$body);

为什么这段代码不适合你?'n将添加换行符,.=将把问题答案连接到电子邮件正文中。