我试图比较100行$ completeGoogle(5000Lines)的前10行并计算与其他文件匹配的数量。不过我的计数应该在1-10之间,而我得到的答案是5010 ???
foreach(new SplFileObject($completeGoogle) as $n => $line)
if($n % 100 < 10)
{
$f_Api = fopen($apiFile,'r');
for ($i = 0 ;$i < 10; $i++)
{
$top10 = fgets($f_Api);
if ($line === $top10);
{
$count++;
}
}
fclose($f_Api);
}
答案 0 :(得分:0)
您将一个文件中的每个1-9,100-109 ...行与另一个文件中的10行进行比较,并将一个变量$count
中的所有匹配项相加。
如果一切都相等,你必须得到500(来自第一个文件的行)* 10(来自其他行的行)= 5000匹配。
答案 1 :(得分:0)
之所以失败是因为一个简单的“;”在if语句之后。
foreach(new SplFileObject($completeGoogle) as $n => $line)
if($n % 100 < 10)
{
$f_Api = fopen($apiFile,'r');
for ($i = 0 ;$i < 10; $i++)
{
$top10 = fgets($f_Api);
if ($line === $top10)
{
$count++;
}
}
fclose($f_Api);
}