0

私は2つのファイルを持っています: text1.txtそしてtext2.txt

これを行うにはどうすればよいですか: からの行にtext1.txt一致する行が見つかった場合はtext2.txt、それを削除します (または一意のものを表示します)?

これは私がこれまでに持っているものです:

$a = file('text1.txt');
$b = file('text2.txt');
$contents = '';

foreach($b as $line2) {
    foreach($a as $line1) {
        if(!strstr($line1, $line2)) {
            $contents .= $line1; 
        }  
    }
}

file_put_contents('unique.txt', $contents);
4

1 に答える 1

1

それは次のようになります。

file_put_contents('unique.txt', array_diff(file('text1.txt'), file('text2.txt')));

-ファイルを完全にRAMにロードしているので、それは許容できる解決策だと思います。

また、文字列が等しいかどうかを判断する独自の関数を定義することもできます。ロジックは同じになりますが、array_udiff()を使用する必要があります

于 2013-11-06T07:37:05.693 に答える