I have an array multidimensional associative array.
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@
)
}
It should validate email address using the regular expression.The return array should consists of an array with only valid array.The array should be
Array
(
[0] => Array
(
[username] => uname1
[name] => fullname1
[email] => uname1@email.com
}
since [1,2,3] have invalid email address.
Each of the answers is valid, and deserve some upvotes. FWIW, I tried running each over 10000 iterations, and measured the elapsed time using
microtime(true).@Gumbo’s solution,
array_filter()/filter_var(): 0.631 sec.@Gordon’s solution,
array_filter()/filter_var()w/anon function: 0.620 sec.@mck89’s solution,
array_filter()/preg_match(): 0.307 sec.@Alexander.Plutov’s solution,
foreach()/preg_match(): 0.193 sec.edit: I re-tested with a more robust email regex.