Заменить дубликаты в текстовом файле с помощью PHP?

У меня есть текстовые файлы, которые имеют список из тысяч имен, как это

DallasWebJobs
DallasWebJobs
DallasWebJobs
php_gigs
brotherjudkins
goldbergwb
SanDiegoWebJobs
brinteractive
muracms
browan85
php_gigs
php_gigs
php_gigs
php_gigs

1 имя в строке, 1 файл может содержать до 30000 имен, и мне нужно заменить все дубликаты имен, потому что, вероятно, половина является дубликатами.

Я хотел бы сделать это на PHP 1, хотя я импортировал каждую строку в базу данных MySQL, а затем делал это, но это казалось излишним, я уверен, что есть более простой способ.

Пожалуйста, помоги, если можешь


Обновление Я нашел это для писем, должно работать тоже

$list = file('./Emailist.txt');
$list_unique = array_unique($list);
foreach ($list_unique as $mail) {
    echo $mail;
}

3 ответа

Решение

От php.net: serg dot podtynnyi на Gmail Dot Com 06-Feb-2009 11:21

// Удалить дубликаты из текстовых файлов и вывести результат в один файл, например: список электронных писем, список ссылок и т. Д.

<?php 

$data1 = file("data1.txt");  

file_put_contents('unique.txt', implode('\n', array_unique($data1))); 
?>

Это удалит все дубликаты и сохранит их как файл unique.txt

или же

<?php 

$data1 = file("data1.txt"); 

$uniqueArray = array_unique($data1)); 
?>

Будет хранить его в $uniqueArray

$file = file_get_contents($filename);
$arr = array();
$arr = split('\n',$file);
$arr = array_unique($arr);

Затем напишите содержимое $arr снова текстовый файл

$lines = file("test-file");

foreach($lines as $line)
{
    $new[str_replace(array("\n","\r"),"",$line)] = 1;
}

print_r(array_keys($new));
Другие вопросы по тегам