php数组一次不显示一个变量

时间:2015-02-10 09:14:54

标签: php email

foreach (array($email_with_comma) as $v) {
                mail($v,$subject_friend,$message_friend,$headers);
        }

$$ email_with_comma包含一系列以逗号分隔的电子邮件地址。例如:person1 @ email.com,person2 @ email.com,person3 @email.com等。

我尝试使用循环一次向一个收件人发送电子邮件。所以其他人不会看到其他联系人。 但此代码会向所有人发送电子邮件。我说的只是“到”选项,这是$ v。

2 个答案:

答案 0 :(得分:6)

你需要通过explode()使它成为一个数组,而不是将它作为字符串放在数组中。

foreach( explode(",", $email_with_comma) as $v) {
    //Check for valid email 
    if (filter_var($v, FILTER_VALIDATE_EMAIL)) {
       mail($v,$subject_friend,$message_friend,$headers);
    }
}

目前,您正在循环

Array
(
    [0] => foo@bar.com,bar@foo.com
)

在逗号(,)上按explode(),您将创建一个包含多个值的数组;

Array
(
    [0] => foo@bar.com
    [1] => bar@foo.com
)

答案 1 :(得分:-1)

使用爆炸功能拆分变量,然后只转换变量数组

$emails=explode(",", $email_with_comma);
foreach($emails as $v):
  echo $v;
endforeach;