在PHP中的变量中包含Foreach循环的结果? (对于函数mail())

时间:2009-09-09 16:21:22

标签: php email variables include foreach

我是法国人,所以我可能不会说英语。

我试图将foreach循环的结果“放”在这样的变量中:

$msg = '<html><head>
        <title>Commande de photos</title>
 </head><body>
        <p>Voici la liste des photos demand&eacute;es :<br />
 <ul> HERE I WANT TO "PUT" THE RESULT OF THE FOREACH LOOP</ul>';

这是我的foreach循环:

foreach($tab as $val){
echo('<li>'.$val.'</li>');
}

然后$msg输入函数mail()的组合,如下所示:

mail($destinataire,$sujet,$msg,$headers);

那么我怎么能这样做才能在邮件中包含foreach的结果,因为我已经有错误?

4 个答案:

答案 0 :(得分:4)

$msg = '<html><head><title>Commande de photos</title></head><body><p>Voici la liste des photos demand&eacute;es :</p><ul>';
foreach($tab as $val){
     $msg .= '<li>' . $val . '</li>';
}
$msg .= '</ul>';
mail($destinataire,$sujet,$msg,$headers);

这里的诀窍是。=连接运算符。例如:

$x = 'abc';
echo $x; // echoes 'abc'
$x .= 'def';
echo $x; // echoes 'abcdef'

答案 1 :(得分:2)

喜欢这样吗?

$list = '';
foreach($tab as $val){
    $list .= '<li>'.$val.'</li>';
}

$msg = '<html><head>
    <title>Commande de photos</title>
</head><body>
    <p>Voici la liste des photos demand&eacute;es :<br />
<ul>'.$list.'</ul>';

mail($destinataire,$sujet,$msg,$headers);

答案 2 :(得分:0)

ob_start();
// here your loop echo'ing stuff
$content = ob_get_clean();

有关ob_ * functions

的更多信息,请参阅php手册页

答案 3 :(得分:0)

不是一个答案 - 但davethegr8的答案对我有用!我正在使用Savant3来调整我的第一个php模板系统集成,这有助于保持所有逻辑与模板文件分开。谢谢!