}
//以 uid 为 key 去看该值是否存在
if(empty($result[$uid]))
{
$result[$uid] = 1;
}
}
fclose($fp);
//将结果保存到文件
$content = '';
foreach($result as $k => $v)
{
$content .= $k."\n";
}
$fp = fopen('result.txt', 'w');
fwrite($fp, $content);
fclose($fp);
?>
20 多行代码,就可以对百万以上的数据进行排重,效率也不错,非常实用。手机号 、
email,也可以采用这种方式进行排重。
还有,这可方法还可以用于两个文件进行排重的工作,如果你有两个 uid 列表文件,
格式和上面的 uid 列表一样,示例程序如下:
<?php
//定义数组,用于存放排重后的结果
$result = array();
//读取第一个 uid 列表文件,放入$result_1
$fp = fopen('test_1.txt', 'r');
while(!feof($fp))
{
$uid = fgets($fp);
$uid = trim($uid);
$uid = trim($uid, "\r");
$uid = trim($uid, "\n");
if($uid == '')
{
continue;
}
//以 uid 为 key 写入$result,如有重复就会覆盖
$result[$uid] = 1;