$count = 0;
$myFile = "file.txt";
$fh = fopen($myFile, 'r');
while(!feof($fh))
{
$Char1 = fgetc($fh);
if($fh == "a")
{
echo $fh;
$count++;
}
}
fclose($fh);
echo "Total 'a' inside File: " . $count;
内容: file.txt
asdasdadaffl; sdgkjsdhfjkghsdfghsdkfvndm,vncmvskjdhfdafhaldfadcnasc adkfjhasdjkalfhadlhhfdskdfhdjkfasf aksdjfhajksdfhjkasdfhakdfasdkcsncandkn
asdkjfhaskdfcnslkjdshfa asdfjkadhfkashdfdknscnaskdjf
我在这里要做的是计算在此文件中找到的字符“a”的出现次数。请帮忙。
答案 0 :(得分:1)
你可以这样做:
$path = "file.txt";
$file = file_get_contents($path);
$count = preg_match_all("/a/", $file, $matches);
我们正在使用:
file_get_contents将文件读入字符串。
preg_match_all为字符串执行全局正则表达式匹配。
或者你可以这样做:
$path = "file.txt";
$count = substr_count(file_get_contents($path), "a");
修改强>
正如Anthony所说,如果您计划使用特大文件,则需要使用fopen
。
答案 1 :(得分:1)
为什么不使用像
这样的东西$count = 0;
$myFile = "file.txt";
$fh = fopen($myFile, 'r');
while(!feof($fh)){
$fr = fread($fh, 8192);
$count += substr_count($fr, 'a');
}
fclose($fh);
echo 'there are ', $count, " a's";