Как проверить идентификаторы электронной почты с конкретным доменом из массива идентификаторов электронной почты в PHP?

У меня есть массив идентификаторов электронной почты. Я хочу проверить каждый идентификатор электронной почты для своего домена.
На самом деле, я должен анализировать этот массив всякий раз, когда найден идентификатор электронной почты без домена .edu, сообщение об ошибке должно быть выдано как ‘Пожалуйста, введите действительный ID .edu’ и дальнейшие электронные письма из массива не должны проверяться.

Как мне добиться этого эффективным и надежным способом?

Ниже приведен мой код массива, который содержит идентификаторы электронной почты. Массив может быть пустым, содержать один или несколько элементов. Он должен работать для всех этих сценариев с соответствующей проверкой и сообщениями об ошибках.

$aVals = $request_data;
$aVals['invite_emails'] = implode(', ', $aVals['invite_emails']);

$aVals['invite_emails'] содержит список адресов электронной почты, полученных в запросе.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация о моих требованиях, если она вам не ясна.

Заранее спасибо.

1

Решение

Вы можете сделать что-то вроде этого,

Обновлено:

// consider $aVals['invite_emails'] being your array of email ids
// $aVals['invite_emails'] = array("[email protected]", "[email protected]");

if(!empty($aVals['invite_emails'])){  //checks if the array is empty
foreach($aVals['invite_emails'] as $email){  // loop through each email
$domains = explode(".",explode("@",$email)[1]); // extract the top level domains from the email address
if(!in_array("edu", $domains)){  // check if edu domain exists or not
echo "Please enter valid .edu id";
break;  // further emails from the array will not be checked
}
}
}
2

Другие решения

Поскольку идентификатор электронной почты всегда состоит из 3 символов, вы также можете сделать что-то вроде этого:

foreach($aVals['invite_emails'] as $email){
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// valid email
if(substr($email, -3) != "edu") {
echo "Please enter valid .edu id";
}
}
}
2

По вопросам рекламы [email protected]