2
我需要获取两个CSV文件之间的差异,在这种情况下,file2.csv中的最新文件用相同的数据覆盖具有相同值的行,并删除具有相同数据的行。PHP排序不按预期工作?
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
但它似乎不产生相同的最终结果。任何线索?
或者你可以使用'FILE_IGNORE_NEW_LINES'国旗... – deceze
那也是。我不知道那个标志XD –
谢谢我只是打着价值观,注意到缺失的换行符,当然转储没有显示。谢谢 – Stofke