全球主机交流论坛
标题:
一个文本里,如果遇到有相同的字符串,就自动增加个其...
[打印本页]
作者:
muyang
时间:
2014-7-1 19:34
标题:
一个文本里,如果遇到有相同的字符串,就自动增加个其...
本帖最后由 muyang 于 2014-7-1 20:21 编辑
感谢楼下的兄弟帮忙解决
作者:
psdshow
时间:
2014-7-1 19:34
<?php
$txtfile = '1.txt';
$data = file($txtfile);
$arr = $arr_key = array();
for($i=0;$i<count($data);$i++){
$key = trim($data[$i]);
if($key == ''){
continue;
}
if(!array_key_exists($key,$arr_key)){
$arr[] = $key;
$arr_key[$key] = 0;
}else{
$arr_key[$key]++;
$arr[] = $key.$arr_key[$key];
}
}
$fp = fopen($txtfile,'w');
fwrite($fp,implode("\n",$arr));
fclose($fp);
复制代码
作者:
psdshow
时间:
2014-7-1 19:49
数千行可以用数组处理
据说数组超过60000后开始随机丢失数据
作者:
psdshow
时间:
2014-7-1 22:14
本帖最后由 psdshow 于 2014-7-1 22:23 编辑
<?php
$txtfile = '1.txt';
$data = file($txtfile);
$arr = $arr_key = array();
for($i=0;$i<count($data);$i++){
$string = trim($data[$i]);
if($string == ''){
continue;
}
$tmp = explode('@',$string);
$key = $tmp[1];
if(!array_key_exists($key,$arr_key)){
$arr[] = $string;
$arr_key[$key] = 0;
}else{
$arr_key[$key]++;
$arr[] = $string.$arr_key[$key];
}
}
//备份一下原来的文件
copy($txtfile,$txtfile.'.bak');
//保存
$fp = fopen($txtfile,'w');
fwrite($fp,implode("\n",$arr));
fclose($fp);
复制代码
作者:
槛外人
时间:
2014-7-1 22:16
psdshow 发表于 2014-7-1 22:14
太厉害了高手,很佩服。
作者:
psdshow
时间:
2014-7-1 22:24
sort多此一举 去掉了
作者:
muyang
时间:
2014-7-1 22:32
感谢兄弟多次帮忙,已完美解决各种混搭。。
欢迎光临 全球主机交流论坛 (https://sunk.eu.org/)
Powered by Discuz! X3.4