Проблема, выдвигающая элемент в конец массива PHP?

У меня есть следующий код …

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 обычно добавляется в пустой массив

0

Решение

Я не собираюсь переписывать весь ваш код, но:

$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 цикл в любом случае, если вы собираетесь сделать это безумным способом.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]