다른 소스 (MySQL, Excel)의 두 전자 메일 목록을 가지고 있습니다. 비슷한 두 가지 예 ( ). PHP 2에서 두 배열을 비교했습니다. "$ mail_old"배열은 수백 개의 주소가있는 주 목록이고 "$ mail_new"에는 에 변경 사항이 있습니다. 이름은 동일하지만 일부 도메인이 변경되었습니다.PHP는 배열을 비교하고 값을 바꿉니다.
새 주소 중 어떤 것이 원래 위치에 없는지 확인하고 싶습니다. 대체 할 수있는 방법을 찾지 못했지만, array_replace()가 도움이되지 않습니다. 이리. array_diff()도 차이점을 확인하기 위해 노력했지만 더 이상 얻지는 못합니다.
여기까지 왔는데 누군가가 나에게 힌트를 줄 수 있다면 얼마나 좋을까. 새 주소로 이전 주소를 바꾸는 방법.
고맙습니다.
$mail_by_name = array();
foreach ($mail_old as $i => $addr) {
list ($name, $domain) = explode('@', $addr);
$mail_by_name[$name] = $i;
}
다음이에 대해 새로운 배열의 각 이름을 테스트 :
을 어느 이전 주소는 대체되어야합니까? 예제에는 도메인이 변경된 주소가 없습니다. – Barmar
다른 도메인에 같은 이름의 주소가 두 개 있으면 어떻게됩니까? '[email protected], john @ example2.org'? – Barmar
"[email protected]"과 같은 의미입니다. "[email protected]"로 바꿔야합니다. – booog