Incluir o resultado de um loop foreach em uma variável em PHP? (Para a função de correio ())
Pergunta
Eu sou francês assim que eu poderia não falam Inglês muito bem.
Eu estou tentando "colocar" o resultado de um loop foreach em uma variável como este:
$msg = '<html><head>
<title>Commande de photos</title>
</head><body>
<p>Voici la liste des photos demandées :<br />
<ul> HERE I WANT TO "PUT" THE RESULT OF THE FOREACH LOOP</ul>';
Aqui está o meu loop foreach:
foreach($tab as $val){
echo('<li>'.$val.'</li>');
}
Em seguida, a $msg
entrar na composição do mail()
função como esta:
mail($destinataire,$sujet,$msg,$headers);
Então, como posso fazer isso para incluir o resultado de foreach em uma mensagem, porque eu tenho já um bug?
Solução
$msg = '<html><head><title>Commande de photos</title></head><body><p>Voici la liste des photos demandées :</p><ul>';
foreach($tab as $val){
$msg .= '<li>' . $val . '</li>';
}
$msg .= '</ul>';
mail($destinataire,$sujet,$msg,$headers);
O truque aqui é a. = Operador de concatenação. Por exemplo:
$x = 'abc';
echo $x; // echoes 'abc'
$x .= 'def';
echo $x; // echoes 'abcdef'
Outras dicas
Como assim?
$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ées :<br />
<ul>'.$list.'</ul>';
mail($destinataire,$sujet,$msg,$headers);
ob_start();
// here your loop echo'ing stuff
$content = ob_get_clean();
Veja man php páginas para mais informações sobre ob_ funções *
Não tanto uma resposta - resposta, mas das davethegr8 trabalhou para mim! Estou attemting meu primeiro template php intergration sistema usando Savant3 e este helpped manter todas separado a lógica do arquivo de modelo. Obrigado!