【发布时间】:2021-08-06 07:17:29
【问题描述】:
我有一个看起来像这样的数组 -> ["john.smith@gmail.com", "jane.doe@gmail.com", "jack.smith@gmail.com"]。我想为数据库中存在的每封电子邮件增加 $count。如果它不存在(无效),那么我想将它推送到 $invalidEmails 数组。
之后,我想根据原始数组中的所有电子邮件是否有效来设置我的 $output。如果它们都存在于数据库中,则它们是有效的。我会很感激这方面的帮助,因为我不知道如何从这里开始。它目前不适用于所有情况,例如,如果第一封电子邮件有效但第二封电子邮件无效。
这是我目前所拥有的:
$result = $conn->query("SELECT mail FROM dej_colleagues");
$rows = mysqli_fetch_all($result, MYSQL_ASSOC);
$tags = preg_split("/\,/", $_POST['tags']);
$invalidEmails = array();
$count = 0;
for ($i = 0; $i < sizeof($tags); $i++) {
$trim_brackets = trim($tags[$i], '[]');
$trim_quotes = trim($trim_brackets, '"');
foreach($rows as $row) {
if ($trim_quotes == $row["mail"]) {
$count += 1;
break;
}
}
if ($count == 0) {
array_push($invalidEmails, $tags[$i]);
}
}
$output = array();
if (sizeof($tags) == $count) {
$output = array("validity => "valid emails");
}
else {
$output = array("validity" => "invalid emails", "emails" => $invalidEmails;
}
echo json_encode($output);
【问题讨论】:
-
很难看出这里应该发生什么。请发布一些示例数据,展示您的起点和预期结果。
-
@TangentiallyPerpendicular 我更新了我的问题。如果您需要任何其他信息,请告诉我