Incluir o resultado de um loop foreach em uma variável em PHP? (Para a função de correio ())

StackOverflow https://stackoverflow.com/questions/1400669

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&eacute;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?

Foi útil?

Solução

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

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&eacute;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!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top