使用php在csv文件中包含单词“118-bonsplans.com”的计数行

时间:2012-08-27 03:43:52

标签: php cakephp cakephp-1.3

我有csv文件“acct-2012-08-24-0001.csv”,其中包含许多行。我想计算所有包含单词“118-bonsplans.com”的行。但我不知道如何计算它,我只能计算csv文件中的所有行,如下面的php代码:

$word =  "118-bonsplans.com";
$linecount = count(file('acct-2012-08-24-0001.csv'));
echo $linecount;

我不知道怎么做继续。任何人请帮助我, 谢谢,

2 个答案:

答案 0 :(得分:0)

怎么样:

count(preg_grep("/118\-bonsplans\.com/", file("acct-2012-08-24-0001.csv")));

preg_grep的第一个参数是正则表达式模式。第二个是要搜索的数组。它返回搜索到的数组中匹配的项目数组。

答案 1 :(得分:0)

您可以尝试使用以下代码:

$handle = fopen('acct-2012-08-24-0001.csv', 'r');
$counter = 0;
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
    if (stristr($buffer, '118-bonsplans.com')) $counter += 1;
}
fclose($handle);
}
echo $counter;