我有这个PHP代码:
while($contacts2=mysql_fetch_array($rs))
{
//generate the list of emails address in an array
$emails_list[] = $contacts2["email"];
}
因此它将我的所有结果放入一个数组中,但当我在while循环之外回显$emails_list
时,它只显示Array
如何让它显示如下:
result1,result2,result3
等
答案 0 :(得分:1)
$emails_list
是一个数组,所以你必须遍历它才能打印它的值:
foreach ($emails_list as $email) {
print "email: $email";
}
请注意,如果您要打印特定值,可以使用$emails_list[index]
进行寻址。例如,你可以做print $emails_list[0]
。
如果您想要同时打印所有值,请执行以下操作:
echo "(" . implode(',',$emails_list) . ")";
$a=array(1,2,3);
echo "(" . implode(',',$a) . ")";
返回
(1,2,3)
http://pastebin.com/BwWZFrzZ中的代码显示您正在使用:
echo 'Email sent to:' . $emails_list . '<br/ >';
所以你可以打印
echo 'Email sent to: (' . implode(',',$emails_list) . ')<br/ >';
根据它来自(https://github.com/PHPMailer/PHPMailer)的github代码,您需要一次添加一封电子邮件:
//this is some clever **** to do with sending emails with attachments :D
$email = new PHPMailer();
while($contacts2=mysql_fetch_array($rs))
$email->AddAddress($contacts2["email"]);
}
$email->From = '...';
答案 1 :(得分:1)
这是你的答案
while($contacts2=mysql_fetch_array($rs))
{
//generate the list of emails address in an array
$emails_list[] = $contacts2["email"];
}
$emails_list = implode(',', $emails_list);
echo "(". $emails_list . ")";
我认为你应该这样试试,
$mail->AddAddress('person1@domain.com', 'Person One');
$mail->AddAddress('person2@domain.com', 'Person Two');
使用PHPMailer
,您可以执行
while($contacts2=mysql_fetch_array($rs))
{
$mail->AddAddress($contacts2['emails'], $contacts2['name']);
}
答案 2 :(得分:0)
答案 3 :(得分:0)
implode()函数从数组元素返回一个字符串。
echo implode(",",$emails_list);
答案 4 :(得分:0)
array_push($emails_list,$contacts2["email"]);
然后打印循环外的$emails_list
可能会解决你的问题
答案 5 :(得分:0)
试试此代码
while($contacts2=mysql_fetch_array($rs))
{
//generate the list of emails address in an array
array_push($emails_list,$contacts2["email"]);
}
要显示数组数据,您可以使用print_r进行检查(只检查它是否有效)
print_r($emails_list)
你可以创建一个循环来逐个获取数据,如下所示
for(int i=0;i<count($emails_list);$i++)
{
echo $emails_list[$i]."<br>";
}