如何在PHPmailer电子邮件的HTML正文中插入基本PHP函数?

如何在PHPmailer电子邮件的HTML正文中插入基本PHP函数?,php,html,forms,phpmailer,Php,Html,Forms,Phpmailer,我是非常新的后端PHP开发。。。我知道如何将发布的数据捕获到PHP变量中,并将这些变量注入HTML电子邮件的正文中。但是,我不知道如何在HTML中实现PHP“foreach”函数 目标如下: 使用PHPmailer发送HTML电子邮件,使用简单的PHP“foreach”函数捕获输入数据并将其粘贴到HTML电子邮件正文中 我简化了我的问题:我想使用for-each函数来捕获名称属性为“FRUIT”的所有输入,并将它们各自的数据属性和值注入HTML的主体中 预期的行为是发送一封邮件,邮件的主体如下所

我是非常新的后端PHP开发。。。我知道如何将发布的数据捕获到PHP变量中,并将这些变量注入HTML电子邮件的正文中。但是,我不知道如何在HTML中实现PHP“foreach”函数

目标如下:

使用PHPmailer发送HTML电子邮件,使用简单的PHP“foreach”函数捕获输入数据并将其粘贴到HTML电子邮件正文中

我简化了我的问题:我想使用for-each函数来捕获名称属性为“FRUIT”的所有输入,并将它们各自的数据属性和值注入HTML的主体中

预期的行为是发送一封邮件,邮件的主体如下所示:

苹果:1

香蕉:2

这是我简化的HTML表单:

   <form id="form" action="(action.php) method="POST">
      <input type="text" name="FRUIT[]" data-attribute="apple" value="1">
      <input type="text" name="FRUIT[]" data-attribute="banana" value="2">
      <input type="submit" value="submit">
    </form>

不能将
foreach
用作表达式。附加到循环中的变量:

$result = '';
foreach ($_POST['NAME'] as $key => $value) {
    $result .= "$key: $value <br>";
}
$result='';
foreach($_POST['NAME']作为$key=>$value){
$result.=“$key:$value
”; }
不能将
foreach
用作表达式。附加到循环中的变量:

$result = '';
foreach ($_POST['NAME'] as $key => $value) {
    $result .= "$key: $value <br>";
}
$result='';
foreach($_POST['NAME']作为$key=>$value){
$result.=“$key:$value
”; }
数据-*
属性不包括在表单提交中。如果没有明确暗示POST,表单默认为GET方法。@PatrickQ,谢谢你。好的,我已经编辑了我的帖子。假设我希望在HTML电子邮件中获得输入的名称和值。使用这个基本的foreach PHP函数有什么方法可以做到这一点吗?
data-*
属性不包括在表单提交中。如果没有明确暗示POST,表单默认为GET方法。@PatrickQ,谢谢你。好的,我已经编辑了我的帖子。假设我希望在HTML电子邮件中获得输入的名称和值。这个基本的foreach PHP函数有什么方法可以做到这一点吗?我正要键入这个,然后又猜了一下,我想也许我要学习一种使用foreach的新方法,去看看,回来了,给你。我知道你不认识我,但我在这里到处都能看到你@Barmar。感谢您的贡献,即使这条评论最后被删除为非建设性的。。。你知道php为什么不实现foreach以这种方式使用吗?一般来说,控制语句不能用作表达式。它具有类似于
数组映射()
内爆()
的函数,可用于执行此操作。不能使用
$variable=如果…
,则必须使用
?:条件运算符。非常感谢@Barmar,这非常有效!我现在必须深入研究,看看如何将数据属性作为$key而不是name属性获取。我已经更新了我的帖子以反映您目前的解决方案。您可以将该属性放在名称中:
name=“names[apple]”
。然后你会得到
$key=“apple”
我正要打这个,然后又猜了一下,想也许我要学习一种使用foreach的新方法,去看看,回来了,给你。我知道你不认识我,但我在这里到处都能看到你@Barmar。感谢您的贡献,即使这条评论最后被删除为非建设性的。。。你知道php为什么不实现foreach以这种方式使用吗?一般来说,控制语句不能用作表达式。它具有类似于
数组映射()
内爆()
的函数,可用于执行此操作。不能使用
$variable=如果…
,则必须使用
?:条件运算符。非常感谢@Barmar,这非常有效!我现在必须深入研究,看看如何将数据属性作为$key而不是name属性获取。我已经更新了我的帖子以反映您目前的解决方案。您可以将该属性放在名称中:
name=“names[apple]”
。然后您将获得
$key=“apple”