У меня есть два списка электронной почты из разных источников (MySQL, Excel), похожие на два моих примера . Я создал два массива в php, чтобы сравнить их. Массив «$ mail_old» - это главный список с несколькими сотнями адресов, а в «$ mail_new» есть изменения. имена те же, но некоторые из доменов изменены.PHP сравнить массивы и заменить значения
Сначала я хочу проверить, какие из новых адресов не встречаются в старом списке, который работает просто отлично. Но я не могу найти способ их замены. Array_replace(), похоже, не помогает Вот. array_diff() также работал для проверки различий, но я не понимаю.
вот что я получил до сих пор, было бы здорово, если бы кто-нибудь мог дать мне подсказку, как , чтобы заменить старые адреса новыми.
Большое спасибо!
<?php
$mail_old = array('[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]',);
$mail_new = array('[email protected]', '[email protected]', '[email protected]', '[email protected]');
foreach ($mail_new as $changed) {
if (!in_array($changed, $mail_old)) {
echo 'Address ' . $changed . ' is new.<br />';
}
}
?>
Каких старые адреса должны быть заменены? В вашем примере нет адресов, в которых домен изменился. – Barmar
Что произойдет, если в разных доменах есть два одинаковых имени? '[email protected], john @ example2.org'? – Barmar
Я имею в виду что-то вроде «[email protected]», которое должно быть заменено на «[email protected]» – booog