У меня есть следующий код …
if ($email_selection == "primary") {
$default_select = "<option value=''>Select Email</option>";
$select_1 = "selected";
$to_array[] = $profile_primary_email;
} elseif ($email_selection == "secondary") {
$default_select = "<option value=''>Select Email</option>";
$select_2 = "selected";
$to_array[] = $profile_primary_email;
} elseif ($email_selection == "both") {
$default_select = "<option value=''>Select Email</option>";
$select_3 = "selected";
$to_array[] = $profile_primary_email . ',' . $profile_secondary_email;
}
if ($manual_email != "") {
$to_array[] = $manual_email;
}
$to_array_count = count($to_array);
$to = $to_array["0"];
for ($v = 1; $v < $to_count; $v++) {
$to = $to . ',' . $to_array[$v];
}
Функция этого кода состоит в том, чтобы получить значение выбранного входа, и на основе значения выбранного входа выдвинуть адрес электронной почты в конец $to_array
, Затем скрипт создает строку каждого электронного письма, разделенную запятой, которая впоследствии будет использоваться как $to
в PHP mail()
функция.
По какой-то причине поле выбора содержит любое значение, адрес электронной почты содержится в $manual_email
не добавляется в массив. Если в поле выбора нет значения, $manual_email
обычно добавляется в пустой массив
Я не собираюсь переписывать весь ваш код, но:
$to_array_count = count($to_array);
$to = $to_array["0"];
for ($v = 1; $v < $to_count; $v++) {
$to = $to . ',' . $to_array[$v];
}
должно быть просто:
$to = implode(',', $to_array);
Не совсем уверен, почему вы не будете использовать foreach
цикл в любом случае, если вы собираетесь сделать это безумным способом.
Других решений пока нет …