0

私はacct-2012-08-24-0001.csv以下のようなファイルを持っています:

noreply@118-bonsplans.com   toulouse@texa.fr    relayed
noreply@lemeilleur-duweb.com  g.dupond@libertysurf.fr   failed
noreply@118-bonsplans.com   toulouse@texa.fr    failed
noreply@lemeilleur-duweb.com  g.dupond@libertysurf.fr   relayed

csvファイルだけで数えたいのですnoreply@118-bonsplans.com toulouse@texa.fr failedが、数え方がわかりません。

4

3 に答える 3

1

preg_match_all()を使用する

$match = preg_match_all('/noreply@118-bonsplans.com(\s+)toulouse@texa.fr(\s+)failed/i', $csv, $matches);
echo count($matches[0]);
于 2012-08-27T07:06:20.257 に答える
1

よくわかりませんが、これでうまくいくかもしれません。

count(preg_grep("/noreply@lemeilleur-duweb.com  g.dupond@libertysurf.fr   relayed/", file("acct-2012-08-24-0001.csv")));

ANDの条件を使用して、セルの内容ごとに確認することもできますif block

于 2012-08-27T07:04:57.350 に答える
0

これを行う簡単な方法は次のとおりです...

$fp = fopen('acct-2012-08-24-0001.csv');

$count = 0;

while ($row = fgetcsv($fp)) {
    if (
        $row[0] == 'noreply@118-bonsplans.com'
        && $row[1] == 'toulouse@texa.fr'
        && $row[2] == 'failed'
    ) {
       $count++;
    }
}

echo "$count matches found";

?>
于 2012-08-27T07:04:41.083 に答える