全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP编程计算文件或数组中单词出现频率的方法

本文实例讲述了PHP编程计算文件或数组中单词出现频率的方法。分享给大家供大家参考,具体如下:

如果是小文件,可以一次性读入到数组中,使用方便的数组计数函数进行词频统计(假设文件中内容都是空格隔开的单词):

<?php
$str = file_get_contents("/path/to/file.txt"); //get string from file
preg_match_all("/\b(\w+[-]\w+)|(\w+)\b/",$str,$r); //place words into array $r - this includes hyphenated words
$words = array_count_values(array_map("strtolower",$r[0])); //create new array - with case-insensitive count
arsort($words); //order from high to low
print_r($words)

如果是大文件,读入内存就不合适了,可以采用如下方法:

<?php
$filename = "/path/to/file.txt";
$handle = fopen($filename,"r");
if ($handle === false) {
 exit;
}
$word = "";
while (false !== ($letter = fgetc($handle))) {
 if ($letter == ' ') {
  $results[$word]++;
  $word = "";
 }
 else {
  $word .= $letter;
 }
}
fclose($handle);
print_r($results);

对于大文件,第二种方法比较快比较安全,不会引起内存异常。

PS:这里再为大家推荐2款非常方便的统计工具供大家参考使用:

在线字数统计工具:
http://tools./code/zishutongji

在线字符统计与编辑工具:
http://tools./code/char_tongji

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # 计算  # 文件  # 数组  # 单词  # 出现频率  # php给一组指定关键词添加span标签的方法  # php 一元分词算法  # PHP实现的简单排列组合算法应用示例  # php生成数组的使用示例 php全组合算法  # 组合算法的PHP解答方法  # php 大数据量及海量数据处理算法总结  # PHP 快速排序算法详解  # 使用PHP实现二分查找算法代码分享  # PHP经典算法集锦【经典收藏】  # PHP面试常用算法(推荐)  # PHP实现的简单组词算法示例  # 组中  # 都是  # 操作技巧  # 大文件  # 相关内容  # 就不  # 感兴趣  # 给大家  # 种方法  # 较快  # 更多关于  # 所述  # 程序设计  # 再为  # 编辑工具  # 讲述了  # place  # words  # array  # preg_match_all 


相关文章: 建站之星代理如何优化在线客服效率?  三星网站视频制作教程下载,三星w23网页如何全屏?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  如何在阿里云虚拟主机上快速搭建个人网站?  名字制作网站免费,所有小说网站的名字?  ,怎么用自己头像做动态表情包?  建站ABC备案流程中有哪些关键注意事项?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何通过虚拟机搭建网站?详细步骤解析  香港网站服务器数量如何影响SEO优化效果?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何使用Golang table-driven基准测试_多组数据测量函数效率  如何快速生成橙子建站落地页链接?  如何在宝塔面板中修改默认建站目录?  实例解析Array和String方法  建站之星微信建站一键生成小程序+多端营销系统  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何选择高效便捷的WAP商城建站系统?  如何快速生成凡客建站的专业级图册?  广州商城建站系统开发成本与周期如何控制?  常州自助建站工具推荐:低成本搭建与模板选择技巧  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  阿里云网站制作公司,阿里云快速搭建网站好用吗?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  宝塔面板创建网站无法访问?如何快速排查修复?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何在阿里云部署织梦网站?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  建站主机选择指南:服务器配置与SEO优化实战技巧  北京网站制作网页,网站升级改版需要多久?  黑客入侵网站服务器的常见手法有哪些?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何快速搭建虚拟主机网站?新手必看指南  建站主机选购指南:核心配置优化与品牌推荐方案  5种Android数据存储方式汇总  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  高防服务器租用如何选择配置与防御等级?  大连网站制作公司哪家好一点,大连买房网站哪个好?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  高性价比服务器租赁——企业级配置与24小时运维服务  如何选择靠谱的建站公司加盟品牌?  如何在Tomcat中配置并部署网站项目?  网站制作软件有哪些,制图软件有哪些?  如何在IIS中新建站点并配置端口与IP地址?  动图在线制作网站有哪些,滑动动图图集怎么做?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。