php集成函数表单邮件验证不工作FILTER_VALIDATE_EMAIL


php integrated function form mail validation doesnt work FILTER_VALIDATE_EMAIL

我有以下脚本,检查电子邮件,并与他们做一些事情,如果他们是正确的格式。我用FILTER_VALIDATE_EMAIL下面是代码:

if(!empty($_POST['maillist'])){
    $_POST['maillist'] = 'mariatettamanti@gmail.com,
H0889@sofiaertel.com,sdfd@sfs.com,';    
$mails = explode(',',$_POST['maillist']);
foreach($mails as $mail){
if(!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
 echo $emailErr = $mail." - Invalid email format<br />"; 
}else{
echo 'do job with this mail';
}
}
}

正如你所看到的,邮件被格式化为邮件,但是函数只打印第一封邮件是正确的,其余的是错误的。为什么呢?我错过了什么?由于

问题是电子邮件地址的最后一个逗号。它在最后创建和空值。要避免这种情况,可以使用isset()

if (!empty($_POST['maillist'])) {
    $_POST['maillist'] = 'H0889@sofisadatel.com,info@daddsadyomiaasdmi.com,info@hotsdaelmidasami.com,';
    $mails = explode(',', $_POST['maillist']);
    foreach ($mails as $mail) {
        if (isset($mail) && $mail != "") {// check for empty email
           if(!filter_var(trim($mail), FILTER_VALIDATE_EMAIL)) {
                echo $emailErr = $mail . " - Invalid email format<br />";
            } else {
                echo 'do job with this mail';
            }
        }
    }
}