Когда вы объединяете строки, выражение на каждой стороне .=
должно вычислять (или возвращать) строку. foreach
не возвращает строку. И, кроме того, echo
отправляет данные на стандартный вывод, а не в переменную.
Вам необходимо l oop и выполнить объединение в пределах l oop на каждом отдельный элемент.
$message .= '<h3>NVR Bookings</h3><br />';
foreach($bookings as $v){
$message .= $v."\n<br />";
}
$message .= '<br />';
Но, если честно, я вижу, что вы на самом деле просто заменяете запятые символами новой строки. Таким образом, вы можете сэкономить взрыв и зацикливание и просто выполнить операцию замены строки, которая выполнит прямую замену одного символа на другой в вашей строке:
$message .= '<h3>NVR Bookings</h3><br />';
$message .= str_replace(",", "\n", $checkbooking);
$message .= '<br />';
Документы: https://www.php.net/manual/en/function.str-replace.php