多维关联数组电子邮件检查

mar*_*mmy 2 php

我有一个数组多维关联数组.

Array
(


[0] => Array
        (
            [username] => uname1
            [name] => fullname1
            [email] => uname1@email.com

        )
[1] => Array
        (
            [username] => uname2
            [name] => fullname2
            [email] => uname2

        )
[2] => Array
        (
            [username] => uname3
            [name] => fullname3
            [email] => uname3@email

        )
[3] => Array
        (
            [username] => uname4
            [name] => fullname4
            [email] => uname4@

        )

}
Run Code Online (Sandbox Code Playgroud)

它应该使用正则表达式验证电子邮件地址.返回数组应该包含一个只有有效数组的数组.数组应该是

Array
(


[0] => Array
        (
            [username] => uname1
            [name] => fullname1
            [email] => uname1@email.com
}
Run Code Online (Sandbox Code Playgroud)

因为[1,2,3]的电子邮件地址无效.

Gum*_*mbo 5

您可以使用array_filter在数组的每个值上应用函数,并在函数返回false值的位置过滤掉这些值.要验证电子邮件地址,您可以filter_varFILTER_VALIDATE_EMAIL结合使用:

function filter_email($item) {
    return isset($item['email']) && filter_var($item['email'], FILTER_VALIDATE_EMAIL);
}
$filtered = array_filter($arr, 'filter_email');
Run Code Online (Sandbox Code Playgroud)