<?php
$filename = "largefile.txt";
/* get content of $filename in $content */
$content = strtolower(file_get_contents($filename));
/* split $content into array of substrings of $content i.e wordwise */
$wordArray = preg_split('/[^a-z]/', $content, -1, PREG_SPLIT_NO_EMPTY);
/* "stop words", filter them */
$filteredArray = array_filter($wordArray, function($x){
return !preg_match("/^(.|a|an|and|the|this|at|in|or|of|is|for|to)$/",$x);
});
/* get associative array of values from $filteredArray as keys and their frequency count as value */
$wordFrequencyArray = array_count_values($filteredArray);
/* Sort array from higher to lower, keeping keys */
arsort($wordFrequencyArray);
这是我为找出文件中不同单词的频率而实现的代码。这是有效的。
现在我想做的是,假设有 10 个文本文件。我想计算所有 10 个文件中单词的词频,即如果我想在所有 10 个文件中找到单词“stack”的频率,即单词堆栈在所有文件中出现了多少次。然后会对所有不同的单词执行此操作。
我已经为单个文件完成了它,但不知道如何将它扩展到多个文件。谢谢你的帮助,对不起我的英语不好