欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP編程計(jì)算文件或數(shù)組中單詞出現(xiàn)頻率的方法

 更新時(shí)間:2017年05月22日 10:14:54   作者:陳小峰_iefreer  
這篇文章主要介紹了PHP編程計(jì)算文件或數(shù)組中單詞出現(xiàn)頻率的方法,給出了2個(gè)統(tǒng)計(jì)單詞頻率的示例,涉及php正則、數(shù)組操作及字符串遍歷等相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP編程計(jì)算文件或數(shù)組中單詞出現(xiàn)頻率的方法。分享給大家供大家參考,具體如下:

如果是小文件,可以一次性讀入到數(shù)組中,使用方便的數(shù)組計(jì)數(shù)函數(shù)進(jìn)行詞頻統(tǒng)計(jì)(假設(shè)文件中內(nèi)容都是空格隔開的單詞):

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

如果是大文件,讀入內(nèi)存就不合適了,可以采用如下方法:

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

對(duì)于大文件,第二種方法比較快比較安全,不會(huì)引起內(nèi)存異常。

PS:這里再為大家推薦2款非常方便的統(tǒng)計(jì)工具供大家參考使用:

在線字?jǐn)?shù)統(tǒng)計(jì)工具:
http://tools.jb51.net/code/zishutongji

在線字符統(tǒng)計(jì)與編輯工具:
http://tools.jb51.net/code/char_tongji

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論