Includere il risultato di un ciclo Foreach in una variabile in PHP? (per la funzione mail ())
Domanda
Sono francese, quindi potrei non parlare molto bene l'inglese.
Sto provando a " put " il risultato di un ciclo foreach in una variabile come questa:
$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>';
Ecco il mio ciclo foreach:
foreach($tab as $val){
echo('<li>'.$val.'</li>');
}
Quindi $ msg
entra nella composizione della funzione mail ()
in questo modo:
mail($destinataire,$sujet,$msg,$headers);
Quindi come posso fare questo per includere il risultato di foreach in un messaggio perché ho già un bug?
Soluzione
$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);
Il trucco qui è l'operatore di concatenazione =. Ad esempio:
$x = 'abc';
echo $x; // echoes 'abc'
$x .= 'def';
echo $x; // echoes 'abcdef'
Altri suggerimenti
Ti piace?
$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();
Vedi le pagine man di php per maggiori informazioni sulle funzioni ob_ *
Non tanto una risposta, ma la risposta di davethegr8 ha funzionato per me! Sto tentando la mia prima integrazione del sistema di template php usando Savant3 e questo aiutato mantiene tutta la logica separata dal file template. Grazie!