PHP編程計(jì)算文件或數(shù)組中單詞出現(xià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)文章
使用Curl進(jìn)行抓取遠(yuǎn)程內(nèi)容時(shí)url中文編碼問(wèn)題示例探討
在編碼時(shí)應(yīng)該只對(duì)部分URL編碼,否則URL中的冒號(hào)和反斜杠也會(huì)被轉(zhuǎn)義,下面有兩個(gè)不錯(cuò)的示例,有類似情況的朋友可以感受下2013-10-10深入理解curl類,可用于模擬get,post和curl下載
本篇文章是對(duì)curl類,可用于模擬get,post和curl下載進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP管理依賴(dependency)關(guān)系工具 Composer 安裝與使用
Composer 是PHP中用來(lái)管理依賴(dependency)關(guān)系的工具。你可以在自己的項(xiàng)目中聲明所依賴的外部工具庫(kù)(libraries),Composer會(huì)幫你安裝這些依賴的庫(kù)文件。2014-08-08php Undefined index和Undefined variable的解決方法
這段時(shí)間在做項(xiàng)目過(guò)程中老是出現(xiàn)這個(gè)提示,起初是用$act來(lái)接受表單post過(guò)來(lái)的數(shù)據(jù)2008-03-03php bootstrap實(shí)現(xiàn)簡(jiǎn)單登錄
這篇文章主要為大家詳細(xì)介紹了php bootstrap實(shí)現(xiàn)簡(jiǎn)單登錄的具體方法,感興趣的小伙伴們可以參考一下2016-03-03php基于閉包實(shí)現(xiàn)函數(shù)的自調(diào)用(遞歸)實(shí)例分析
這篇文章主要介紹了php基于閉包實(shí)現(xiàn)函數(shù)的自調(diào)用,結(jié)合實(shí)例形式分析了php閉包實(shí)現(xiàn)遞歸的操作方法,需要的朋友可以參考下2016-11-11