Php 如何在字符串中输出forloop?

Php 如何在字符串中输出forloop?,php,phpmailer,Php,Phpmailer,我正在尝试将具有多个属性的数据对象输出到phpmailer中的字符串中。如何实现这一点 function sendMailTo($mail, $data, $subject_, $toEmail) { $body = 'all data:' foreach ($data as $obj) { $obj->property; } $mail->ClearAllRecipients(); $mail->AddAddress($toE

我正在尝试将具有多个属性的数据对象输出到phpmailer中的字符串中。如何实现这一点

function sendMailTo($mail, $data, $subject_, $toEmail) {
    $body = 'all data:' foreach ($data as $obj) {
        $obj->property;
    }

    $mail->ClearAllRecipients();
    $mail->AddAddress($toEmail);
    $mail->FromName = $data->inputName;
    $mail->From = $email;
    $mail->Subject = $subject_;
    $mail->IsHTML(true);
    $mail->Body = $body;
    $mail->AddReplyTo($toEmail, $data->inputName);
    $mail->send();
}

使用串联并向
$body
变量添加值:

$body = 'all data:';
foreach ($data as $obj) {
    $body .= $obj->property;
}

这段代码有点荒谬,除非
$data
实际上是一个对象数组,每个对象都有一个名为
property
的属性

如果要提取对象的所有属性,请迭代它们,因为

也不需要使用局部变量;将字符串直接组装到
$mail->Body

$mail->Body = "All data:\r\n";
foreach ($data as $property => $value) {
    $mail->Body .= "$property = $value\r\n";
}
我假设您需要属性名称和值


(您可以删除后面的一行,上面写着
$mail->Body=$Body;

记住用echo$Body来结束它;Body应设置为
$mail->Body=$Body未回显。正确,从代码中可以明显看出这一点。问题是如何输出它,所以在严格意义上,它会得到回应。但是是的,在这种情况下你是对的,Echo是我的错。谢谢你的回答!你到底想要实现什么?你为什么要用那种方法来回音?回音是一个打字错误,不应该出现在那里。