Как найти значение в массиве и удалить его при помощи функций массива PHP?

Как найти, существует ли значение в массиве, и затем удалите его? После удаления мне нужен последовательный индексный порядок.

Есть ли какие-либо встроенные функции массива PHP для того, чтобы сделать это?

53
задан Machavity 28 October 2019 в 11:51
поделиться

1 ответ

Хорошо, это немного длиннее, но делает несколько прохладных вещей.

я пытался отфильтровать список электронных писем, но исключить определенные домены и электронные письма.

Сценарий ниже желания...

  1. Удаляют любые записи с определенным доменом
  2. , Удаляют любую электронную почту с точным значением.

Первый Вам нужен массив со списком электронных писем, и затем можно добавить определенные домены или отдельные почтовые ящики к спискам исключения.

Затем это произведет список чистых досье в конце.

//list of domains to exclude
$excluded_domains = array(
    "domain1.com",
);

//list of emails to exclude
$excluded_emails = array(
    "bob@domain2.com",
    "joe@domain3.com",    
);

function get_domain($email) {

    $domain = explode("@", $email);
    $domain = $domain[1];
    return $domain;

}

//loop through list of emails
foreach($emails as $email) {

    //set false flag
    $exclude = false;

    //extract the domain from the email     
    $domain = get_domain($email);

    //check if the domain is in the exclude domains list
    if(in_array($domain, $excluded_domains)){
        $exclude = true;
    }

    //check if the domain is in the exclude emails list
    if(in_array($email, $excluded_emails)){
        $exclude = true;
    } 

    //if its not excluded add it to the final array
    if($exclude == false) {
        $clean_email_list[] = $email;
    }

    $count = $count + 1;
}

print_r($clean_email_list);
0
ответ дан 7 November 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: