2009-09-09 65 views
3

我是法國人,所以我可能不會說英語很好。在PHP中包含一個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的結果,因爲我已經有一個bug了?

回答

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); 

這裏的技巧是。= concatenation運算符。例如:

$x = 'abc'; 
echo $x; // echoes 'abc' 
$x .= 'def'; 
echo $x; // echoes 'abcdef' 
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); 
0
ob_start(); 
// here your loop echo'ing stuff 
$content = ob_get_clean(); 

見PHP手冊頁的詳細信息在ob_ *功能

0

與其說是一個答案 - 但davethegr8的回答爲我工作!我正在嘗試使用Savant3我的第一個php模板系統集成,這有助於保持模板文件中的所有邏輯獨立。謝謝!