0

我试图比较 $completeGoogle(5000Lines) 的 100 行中的前 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);
                }
4

2 回答 2

0

您将一个文件中的每个 1-9、100-109... 行与另一个文件中的 10 行进行比较,并将所有匹配项汇总到一个变量中$count。如果一切都相等,您必须获得 500(来自第一个文件的行)* 10(来自其他文件的行)= 5000 个匹配项。

于 2012-07-30T14:14:50.047 回答
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);
                }
于 2012-07-30T15:09:42.710 回答