我有一個文本文件的目錄。我想遍歷目錄中的每個文本文件,並獲取唯一字詞的總數(詞彙計數),而不是針對每個文件,而是針對所有文件。換句話說,我希望所有文件中的唯一字的數量一起,而不是每個單獨文件的唯一字數。如何從PHP中的文本文件目錄中獲取唯一字詞的計數?
例如,我在一個目錄中有三個文本文件。這裏是他們的內容:
file1.txt - >這裏是一些文字。
file2.txt - >這裏是更多的文字。
file3.txt - >甚至更多的文字。
所以該目錄的文本文件在這種情況下獨特單詞數爲6
我曾嘗試使用此代碼:
$files = glob("C:\\wamp\\dir");
$out = fopen("mergedFiles.txt", "w");
foreach($files as $file){
$in = fopen($file, "r");
while ($line = fread($in)){
fwrite($out, $line);
}
fclose($in);
}
fclose($out);
合併所有的文本文件,然後後使用這段代碼我打算在mergedFiles.txt上使用array_unique()。但是,代碼不起作用。
如何以最佳方式獲取目錄中所有文本文件的唯一字數?
'但是,代碼不working'它究竟如何不工作? – 2014-12-03 08:15:51
我不認爲你需要將所有的文本合併在一起,才能連續打開文件。閱讀每一行,刪除標點符號並標準化案例。拆分成單詞並添加到一個集合中,或者作爲關鍵字(而不是數值)添加到存儲該值中該單詞的計數的關聯數組中。最後,數組/集合的大小是唯一字的數量。 – 2014-12-03 08:17:25