Php 如何从文件中获取每行显示的数量?
我试图读取一个txt文件,并计算每行在文件中出现的次数 heroes.txt:Php 如何从文件中获取每行显示的数量?,php,file,Php,File,我试图读取一个txt文件,并计算每行在文件中出现的次数 heroes.txt: Hero1, Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8 Hero1, Hero8, Hero9, Hero10, Hero11, Hero12, Hero13, Hero14 Hero1, Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8 Hero2, Hero3, Hero4, Hero5, Hero6, Hero7
Hero1, Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8
Hero1, Hero8, Hero9, Hero10, Hero11, Hero12, Hero13, Hero14
Hero1, Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8
Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8, Hero9
Hero1, Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8
Hero1, Hero8, Hero9, Hero10, Hero11, Hero12, Hero13, Hero14
预期产出:
Appeared 3x: Hero1, Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8
Appeared 2x: Hero1, Hero8, Hero9, Hero10, Hero11, Hero12, Hero13, Hero14
Appeared 1x: Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8, Hero9
到目前为止,我可以对保存在变量中的一行执行此操作,并使用它将其与所有其他行进行比较。现在,我检查每一行,并使用strpos()
检查变量中保存的行是否与我当前在while循环中读取的行相同。如果是,则递增计数器变量
但正如您可以看到的,这段代码只对一行有效,我还必须先将它保存到一个变量中
那么,我如何修改我的代码,让它计算每一行在文件中出现的次数呢
代码:
您可以使用将文件读入数组,然后简单地使用来计算每行在文件中出现的次数 代码:
您可以使用将文件读入数组,然后简单地使用来计算每行在文件中出现的次数 代码:
谢谢您的帮助。将学习并了解代码。这就是我所需要的。@darksen你用你所拥有的知识在解决问题方面做得很好!您还可以使用fgets()
,并将该行用作数组的键,在该数组中,您可以为每个外观增加值,这与我当前的回答相同:)谢谢。将学习并了解代码。这就是我所需要的。@darksen你用你所拥有的知识在解决问题方面做得很好!您还可以使用fgets()
并将该行用作数组的键,在该数组中,您可以为每个外观增加值,这与我当前的答案相同:)
<?php
$herocombo = "Hero1, Hero2, Hero3, Hero4, Hero5, Hero6, Hero7, Hero8";
$handle = fopen ("heroes.txt", "r");
$counter = 0;
while (!feof($handle))
{
$line = fgets($handle);
$pos = strpos($line, $herocombo);
if ($pos !== false)
{
$counter++;
}
}
fclose ($handle);
echo "Popular Combo:";
echo "\n";
echo "Appreared" . $counter ."times:" . $herocombo;
echo "\n";
?>
<?php
$lines = file("text.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$result = array_count_values($lines);
foreach($result as $v => $amount)
echo "Appeared " . $amount . "x: " . $v . "<br />";
?>