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