2つのCSVファイルの違いを取得する必要があります。この場合、最新のファイルfile2.csvは、同じ値の行を更新されたバージョンで上書きし、同じデータの行を削除します。
file1.csv
GHI, 0, 0
ABC, 12, 1
DEF, 10, 1
file2.csv
ABC, 8, 1
DEF, 10, 1
GHI, 2, 0
最終的なCSVは次のようになります。
ABC, 8, 1
GHI, 2, 0
phpコード:
<?php
$file1 = file('file1.csv');
$file2 = file('file2.csv');
sort($file1);
sort($file2);
var_dump($file1);
var_dump($file2);
$diff = array_diff($file2, $file1);
var_dump($diff);
?>
これを返します
ABC, 8, 1
DEF, 10, 1
GHI, 2, 0
file1.csvを手動で次のように変更すると、次のようになります。
ABC, 12, 1
DEF, 10, 1
GHI, 0, 0
期待どおりにこれを返します。
ABC, 8, 1
GHI, 2, 0
並べ替えられた配列をダンプすると、手動で順序を変更したときと同じように、並べ替え関数が返されるように見えます
ABC, 12, 1
DEF, 10, 1
GHI, 0, 0
しかし、それは同じ最終結果を生み出さないようです。手がかりはありますか?