当前位置: 首页 » 产品 » 商务广告 » 正文

PHP如何计算文件或数组中单词出现频率

放大字体  缩小字体 发布日期: 2024-09-23 22:34   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:20
核心提示:如果是小文件,可以一次性读入到数组中,使用方便的数组计数函数进行词频统计(假设文件中内容都是空格隔开的单词):?php$str=f

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

<?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);

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站