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)
二:如果是大文件,读入内存就不合适了,可以采用如下方法:
$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);
Linux命令经典面试题:统计文件中出现次数最多的前10个单词
使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。
cat words.txt | sort | uniq -c | sort -k1,1nr | head -10
主要考察对sort、uniq命令的使用,相关解释如下,命令及参数的详细说明请自行通过man查看,简单介绍下以上指令各部分的功能:
sort: 对单词进行排序
uniq -c: 显示唯一的行,并在每行行首加上本行在文件中出现的次数
sort -k1,1nr: 按照第一个字段,数值排序,且为逆序
head -10: 取前10行数据
(责任编辑:最模板)
php单词出现频率,PHP计算文件或数组中单词出现频率相关推荐
- php单词出现频率,PHP编程计算文件或数组中单词出现频率的方法
本文实例讲述了PHP编程计算文件或数组中单词出现频率的方法.分享给大家供大家参考,具体如下: 如果是小文件,可以一次性读入到数组中,使用方便的数组计数函数进行词频统计(假设文件中内容都是空格隔开的单词 ...
- python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value)
python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value) 目 ...
- C语言:编写一个函数,计算二维数组中的最大元素,数组以指针的方式传递
/*编写一个函数,计算二维数组中的最大元素,数组以指针的方式传递*/ #include<stdio.h> #define N 4 #define M 3 int findmax(int ( ...
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。 例如输入“I am a student”,则通过控制台输出“student a
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号. 例如输入"I am a student",则通过控制台输出& ...
- python编程单词排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...
本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...
- rc振荡器振荡频率计算_微控制器中的振荡器频率
rc振荡器振荡频率计算 微控制器中的振荡器频率 (Oscillator Frequency in Microcontrollers) The digital computer systems must ...
- c语言编写计算单词长度,编写一个程序,打印输入中单词长度的直方图
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define inside 1 #define outside 0 /*编写一个程序,统计并打印输入单词不同长度的个数,并打印输入中单 ...
- Linux数组计算平均值,从数组中读取并计算平均值
我正在尝试编写从数组中读取一行字符的代码,将这些字符分配给一个整数,然后对该行的所有整数进行平均,然后对数组中的每一行执行此操作.以下是我迄今为止:从数组中读取并计算平均值 Scanner in = ...
- 简单的MapReduce项目,计算文件中单词出现的次数
简单的MapReduce项目,计算文件中单词出现的次数 计算文件中单词出现的次数,试题如下图 1.创建读取单词的文件tast,内容如下: hadoop core map reduce hiv hba ...
最新文章
- 路由器:访问控制列表
- ASP.Net ViewState的实现
- 【JAVA】使用IntelliJ IDEA创建Java控制台工程
- 框架:Mybatis开发规范及输入输出映射配置时注意事件
- 练习利用LSTM实现手写数字分类任务
- oracle里查询表的语句,Oracle查询用户所有表的语句
- 使用 Python 实现多进程
- Laravel5.4 导出Excel表格
- JAVA内存模型和GC原理
- 区块链软件公司:食品溯源+区块链
- pitch yaw roll是什么
- Air Keyboard
- Panel的基本用法
- Python爬虫进行web 数据可视化挖掘总结和分析
- centos7安装或升级Google chrome、安装Firefox浏览器详细过程及设置桌面快捷方式
- 谁将泡泡玛特推上千亿市值神坛?
- 关于小米文件管理器的介绍及源码下载
- BUU刷题记录——5
- linux下Oracle常用命令
- 【OpenCV入门教程之十七】OpenCV重映射 SURF特征点检测合辑