If you want a multi-dim array, you could initialize it as:
$emails = array('valid' => array(), 'invalid' => array());
Then as you validate each email, add it to the appropriate sub-array as:
$emails['valid'][] = $thisEmail;
// or...
$emails['invalid'][] = $thisEmail;
However, if you'd prefer to have 2 separate arrays (though I kind of like the idea of keeping them together), you could pass two array args to your function as references:
function validate_emails($emailList, &$validEmails, &$invalidEmails)
{
$validEmails = array();
$invalidEmails = array();
// do your loop on $emailList and then add to applicalbe array
}
// usage
validate_emails($emailList, $valid, $invalid);
// see invalid emails:
print_r($invalid);