比较文本文件中的某些行

时间:2012-07-30 13:55:14

标签: php count text-files nested-loops

我试图比较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);
                }

2 个答案:

答案 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);
                }