我需要了解两个 CSV 文件之间的差异,在这种情况下,最新的文件 file2.csv 会用更新的版本覆盖具有相同值的行,并删除具有相同数据的行。
文件 1.csv
GHI, 0, 0
ABC, 12, 1
DEF, 10, 1
文件2.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
然而,它似乎不会产生相同的最终结果。有什么线索吗?