使用逗号从数组中分隔的项创建字符串会导致未定义的变量

时间:2015-11-22 16:58:08

标签: php email

我有一个包含电子邮件地址的数组。我需要一次将PHP邮件发送到多个电子邮件地址,所以我需要让我的$变量如下:

$to = 'email@email.com, onemoreemail@email.com, anotheremail@email.com';

我使用此代码来实现此目的:

$prefix = '';
foreach($result AS $recipient_row) {
    $to .= $prefix . '"' . $recipient_row['email'] . '"';
    $prefix = ', ';
}

这会产生undefined variable: to on line 225 ...第225行是$to .= $prefix . '"' . $recipient_row['email'] . '"';的行。

电子邮件正在发送给多个人,因此代码确实有效,但它只会产生此错误。为什么会发生这种情况?如何阻止此错误出现?

2 个答案:

答案 0 :(得分:1)

你可以这样做,

$to = implode(", ", $recipient_row);  // output: email@email.com, onemoreemail@email.com, anotheremail@email.com

implode使用字符串连接数组元素。

答案 1 :(得分:1)

如果您想使用$to,则需要初始化.=,如下所示:

$prefix = '';
$to = '';
foreach($result AS $recipient_row) {
    $to .= $prefix . '"' . $recipient_row['email'] . '"';
    $prefix = ', ';
}