我有兩個來自不同來源(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 2014-11-08 16:21:08
如果在不同域中有兩個具有相同名稱的地址,會發生什麼情況? '[email protected],john @ example2.org'? – Barmar 2014-11-08 16:22:33
我的意思是像「[email protected]」,應該用「[email protected]」取代 – booog 2014-11-08 16:24:24