【发布时间】:2015-08-11 17:18:06
【问题描述】:
我有以下代码...
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的末尾。然后该脚本为每封电子邮件创建一个用逗号分隔的字符串,该字符串稍后将用作 PHP mail() 函数中的$to。
由于某种原因,选择字段包含任何值,$manual_email 中包含的电子邮件地址未附加到数组中。但是,如果选择字段没有值,则$manual_email 通常会附加到空数组中。
【问题讨论】:
-
$to_array[0]和$to_array['0']在 PHP 中是不一样的。 -
删除或添加引号不会改变脚本的功能。我一直交替使用它们并且很好。无论如何,无论哪种方式,我都有同样的问题。
-
只是为了澄清最后一段,如果
$to_array包含一些数据,您是说$manual_email不会被附加? -
$manual_email到底是什么?看起来未定义。 -
我们是否应该假设围绕此代码进行了表单提交测试?