我有一个文本文件,里面有成千上万的名字,比如这个
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;
}
来自php.net:serg dot podtynnyi,gmail dot com 2009年2月6日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
中
$lines = file("test-file");
foreach($lines as $line)
{
$new[str_replace(array("n","r"),"",$line)] = 1;
}
print_r(array_keys($new));
$file = file_get_contents($filename);
$arr = array();
$arr = split('n',$file);
$arr = array_unique($arr);
然后将$arr
的内容再次写入文本文件