全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2123|回复: 6

一个文本里,如果遇到有相同的字符串,就自动增加个其...

[复制链接]
发表于 2014-7-1 19:34:51 | 显示全部楼层 |阅读模式
200金钱
本帖最后由 muyang 于 2014-7-1 20:21 编辑

感谢楼下的兄弟帮忙解决
发表于 2014-7-1 19:34:52 | 显示全部楼层

  1. <?php
  2. $txtfile = '1.txt';
  3. $data = file($txtfile);
  4. $arr = $arr_key = array();

  5. for($i=0;$i<count($data);$i++){
  6.         $key = trim($data[$i]);
  7.         if($key == ''){
  8.                 continue;
  9.         }
  10.         if(!array_key_exists($key,$arr_key)){
  11.                 $arr[] = $key;
  12.                 $arr_key[$key] = 0;
  13.         }else{
  14.                 $arr_key[$key]++;
  15.                 $arr[] = $key.$arr_key[$key];
  16.         }
  17. }

  18. $fp = fopen($txtfile,'w');
  19. fwrite($fp,implode("\n",$arr));
  20. fclose($fp);
复制代码
发表于 2014-7-1 19:49:38 | 显示全部楼层
数千行可以用数组处理

据说数组超过60000后开始随机丢失数据
发表于 2014-7-1 22:14:22 | 显示全部楼层
本帖最后由 psdshow 于 2014-7-1 22:23 编辑
  1. <?php
  2. $txtfile = '1.txt';
  3. $data = file($txtfile);
  4. $arr = $arr_key = array();

  5. for($i=0;$i<count($data);$i++){
  6.         $string = trim($data[$i]);
  7.         if($string == ''){
  8.                 continue;
  9.         }
  10.         $tmp = explode('@',$string);
  11.         $key = $tmp[1];
  12.         if(!array_key_exists($key,$arr_key)){
  13.                 $arr[] = $string;
  14.                 $arr_key[$key] = 0;
  15.         }else{
  16.                 $arr_key[$key]++;
  17.                 $arr[] = $string.$arr_key[$key];
  18.         }
  19. }

  20. //备份一下原来的文件
  21. copy($txtfile,$txtfile.'.bak');
  22. //保存
  23. $fp = fopen($txtfile,'w');
  24. fwrite($fp,implode("\n",$arr));
  25. fclose($fp);
复制代码
发表于 2014-7-1 22:16:57 | 显示全部楼层

太厉害了高手,很佩服。
发表于 2014-7-1 22:24:48 | 显示全部楼层
sort多此一举 去掉了
 楼主| 发表于 2014-7-1 22:32:09 | 显示全部楼层
感谢兄弟多次帮忙,已完美解决各种混搭。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-23 15:45 , Processed in 0.065093 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表