0

我有包含数千个这样的名称列表的文本文件

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

每行 1 个名称,但 1 个文件上可能有多达 30,000 个名称,我需要替换所有重复的名称,因为可能多达一半是重复的。

我想在 PHP 中执行此操作,1 尽管将每一行导入 MySQL 数据库然后执行此操作,但这似乎有点过头了,我相信有更简单的方法。

如果可以的话请帮忙


更新我为电子邮件找到了这个,它也应该工作

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

3 回答 3

1

来自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

于 2012-02-29T02:11:32.527 回答
0
$lines = file("test-file");

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

print_r(array_keys($new));
于 2012-02-29T02:09:16.227 回答
0
$file = file_get_contents($filename);
$arr = array();
$arr = split('\n',$file);
$arr = array_unique($arr);

然后$arr再次将内容写入文本文件

于 2012-02-29T02:12:28.400 回答