Включить результат цикла Foreach в переменную в PHP? (для функции mail ())
Вопрос
Я француз, поэтому я не очень хорошо говорю по-английски.
Я пытаюсь " поставить " результат цикла foreach в такой переменной:
$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>';
Вот мой цикл foreach:
foreach($tab as $val){
echo('<li>'.$val.'</li>');
}
Затем $ msg
введите в состав функции mail ()
следующим образом:
mail($destinataire,$sujet,$msg,$headers);
Так, как я могу сделать это, чтобы включить результат foreach в сообщение, потому что у меня уже есть ошибка?
Решение
$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);
Хитрость здесь в том, что оператор объединения =. Например:
$x = 'abc';
echo $x; // echoes 'abc'
$x .= 'def';
echo $x; // echoes 'abcdef'
Другие советы
Как так?
$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();
Для получения дополнительной информации о функциях ob_ * см. справочные страницы php
Не так много ответов, но ответ davethegr8 сработал для меня! Я пытаюсь интегрировать свою первую систему php-шаблонов с помощью Savant3, и это помогает отделить всю логику от файла шаблона. Спасибо!
Не связан с StackOverflow