字符串去重 php,揭秘PHP去除大文本重复行的方法

川北在线核心提示:原标题:揭秘PHP去除大文本重复行的方法 PHP处理大文本可能会出现各种性能问题,一种简单的方法是利用PHP自带的array_unique数组去重函数,另一种简单方法则为利用关联数组特性实现。下面是相关实现方法主要代码,仅供参考。 1. 利用PHP数组去重函数array_unique实现 P

原标题:揭秘PHP去除大文本重复行的方法

PHP处理大文本可能会出现各种性能问题,一种简单的方法是利用PHP自带的array_unique数组去重函数,另一种简单方法则为利用关联数组特性实现。下面是相关实现方法主要代码,仅供参考。

1. 利用PHP数组去重函数array_unique实现

PHP代码

1./*

2.文本重复字符串的去重 – 方法1

3.利用explode和array_unique函数实现。

4.存在问题:file_get_contents函数将文件全部读入内存处理,这样处理速度较快,但大文件会出现内存溢出问题

5.*/

6.function duplicate_remove_1($file_input, $file_output)

7.{

8. $content = file_get_contents($file_input);

9. if(!$content)

10. {

11. return 0;

12. }

13. //符号过滤与格式处理(处理为以逗号分割的字符串)

14. //$pattern = "/[ '.:;*?——!@#$%^&+=-)(<>{}]|]|[|/|\|"||/";

15. //$content = preg_replace($pattern, '', $content); //英文符号过滤

16. $array = explode(',', $content);

17. $new_array=array_values(array_unique($array));//消除重复行

18. $array = NULL;

19. $num = count($new_array) – 1;

20.

21. $content = implode("rn",$new_array);

22. $new_array = NULL;

23.

24. $content=preg_replace('/($s*$)|(^s*^)/m','',$content); //消除空行

25. $_bool = file_put_contents("{$file_output}",$content);

26. if(!$_bool)

{

return 0;

}

27. $content = NULL;

28.

29. return $num;

30.}

2. 利用PHP关联数组特性实现

PHP代码

1./*

2.文本重复字符串的去重 – 方法2

投稿合作邮箱:chuanbeiol@163.com   详情请访问川北在线:http://www.guangyuanol.cn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值