PHP内爆无效参数

时间:2014-01-03 14:38:42

标签: php

我正在使用PHP函数:

implode(',',$emails_list)

$emails_list是foreach循环中的数组:

foreach ($records as $contacts2)
    {
        //generate the list of emails address in an array
        if(filter_var($contacts2["email"], FILTER_VALIDATE_EMAIL))
        {
            $emails_list[] = $contacts2["email"];
        }
    }

但是当$emails_list变量

中只返回一行时,我收到此错误
Warning: implode() [function.implode]: Invalid arguments passed 

更新:

我刚刚将循环更改为:

foreach ($records as $contacts2)
    {
        //generate the list of emails address in an array
        if(filter_var($contacts2["email"], FILTER_VALIDATE_EMAIL))
        {
            $emails_list = $contacts2["email"].', '.$emails_list;
        }
    }

但如果只有一个$contacts2["email"],那么:

email@domain.com, 

如果只有一个电子邮件地址,如何阻止,到底?

2 个答案:

答案 0 :(得分:1)

现在这完全是一个不同的问题 - 但是你会在循环完成后立即添加:

if( ! empty($emails_list)) { 
    $emails_list = substr($emails_list, 0, -2); // removes last 2 characters from end of string
}

答案 1 :(得分:-1)

在foreach之前,把这行:

$emails_list = array() 

应该有所帮助。