php csv 重複チェック

前提

結果.csv↓
id,住所
1410A23,北海道
1410A23,北海道
1529A28,東京
1529A28,東京
1529A28,東京
1529A31,千葉
1529A36,大阪
1529A36,大阪
1529A36,大阪
1529AD3,石川
1529AD7,石川

出力したい結果↓出力したい結果↓
id,住所
1410A23,北海道
1529A28,東京
1529A31,千葉
1529A36,大阪
1529AD3,石川
1529AD7,石川

実現したいこと

phpでcsvファイルにある
idが重複してないものはそのまま出力、
重複していた場合1つだけ出力という事を行いたいです。
ご教授いただきたいです。

該当のソースコード

<?php $file1 = '結果.csv'; $fp1 = fopen($file1, "r"); $file2 = '結果.csv'; $fp2 = fopen($file2, "r"); while ($tmp = fgetcsv($fp1)) { $count = 0; $result[0] = $tmp[0]; $result99[1] = $tmp[1]; while ($tmp = fgetcsv($fp2)) { $result2[0] = $tmp[0]; if($result[0] === $result2[0]){ $count++; } } if($count >= 1){ $csv[]=array_merge([$result[0]],[$result99[1]]); } rewind($fp2); } $fp=fopen('結果重複削除後.csv',"w"); foreach($csv as $v){ fputcsv($fp,$v); } fclose($fp); fclose($fp1); fclose($fp2);

試したこと

1つのファイルを2こ開いて先頭同士で比較して、一致したらカウントを増やしてカウントが1以上であればそれを記載するというコードになります。
これだと全く同じ結果が返ってきてしまいました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント