我有一个不断变化的 CSV 文件目录,我希望阅读并计算某个单词在某个“列”中出现的次数。我正在使用以下代码通过单个文件成功完成此操作:
$file = 'Some\Random\Directory\myfile.txt');
$fh = fopen($file, 'rb');
$tag = array();
while($col = fgetcsv($fh)) {
if (isset($tag[$col[2]])) {
$tag[$col[2]]++;
} else {
$tag[$col[2]] = 1;
}
}
fclose($fh);
$foo = ($tag['foo']);
$bar = ($tag['bar']);
echo $foo;
但是,当我试图用这段代码解析整个目录时,我已经挂断了:
$files = glob('Some\Random\Directory\*.txt');
foreach($files as $file){
$fh = fopen($file, 'rb');
$tag = array();
while($col = fgetcsv($fh)) {
if (isset($tag[$col[2]])) {
$tag[$col[2]]++;
} else {
$tag[$col[2]] = 1;
}
}
fclose($fh);
$foo = ($tag['foo']);
$bar = ($tag['bar']);
$foo_sum = array_sum($foo);
}
echo $foo_sum;
此代码不会在页面上显示任何内容。如果我删除该array_sum()
函数并将其echo
放在循环内,foo
则会显示 的所有实例,但每个文件一个数字。是什么让我无法获得所有foo
s 的总和?