Если отвечать конкрено на вопрос по выходу из цикла - нужно использовать конструкцию
breakbreak 2
Но вообще твою задачу лучше решать другим способом. Если я правильно понимаю - у тебя есть много файлов, содержащих почтовые ящики и ты хочешь поместить все уникальные в один файл.
Судя по тому, что ты считаваешь файл с помощью fle_get_contents - у тебя не очень то большое количество ящиков. Я бы на твоем месте сделал так:
1. Создал бы ассоциативный массив, где в кач-ве ключей будут почтовые ящики
2. Прошелся бы по всем файлам, просто устанавливая соответствующим элементам массива какое-нибудь значение, например true.
3. Записал бы полученную информацию в файл.
Что-то типа этого (пишу без тестирования - просто чтобы показать принцип)
// Список файлов для обработки. Получить ты его можешь как угодно, например scandir.
$files = ['/file1.txt', '/file2.txt'];
$uniqueEmails = [];
foreach ($files as $filePath) {
$emails = file($filePath);
foreach($emails as $email) {
$email = trim($email);
$uniqueEmails[$email] = true;
}
}
$uniqueEmails = array_keys($uniqueEmails);
$uniqueEmails = implode("\n", $uniqueEmails);
file_put_contents('/out.txt', $uniqueEmails);