删除具有最低ID的dupplicate

时间:2016-05-17 13:36:37

标签: php

我一直在尝试通过分割带有子字符串的行而不是使用唯一的数组,但我无法使其正常工作。我们的想法是,如果文件中的相同行数较少,请保留较高数字的行。

TEXTFILE:

wood    tiger    22324    Squirrel
john    apple    24574    Squirrel                                  
peter   snuggle  21234    Squirrel                                  
james   coolest  20108    Squirrel                                  
james   coolest  20134    Squirrel

需要输出:

wood    tiger    22324    Squirrel  
john    apple    24574    Squirrel                                  
peter   snuggle  21234    Squirrel                                  
james   coolest  20134    Squirrel 

所以,基本上它必须保持编号最高的项目,如果它在同一行(数字越新,线条越新)。

到目前为止我尝试过的事情:     

$file_handle = fopen("file.txt", "rb" , FILE_SKIP_EMPTY_LINES);


while (!feof($file_handle) ) {
    $line_of_text = fgets($file_handle);
    if ($line_of_text[0] === ' ') continue;  
        if ($line_of_text[0] === ' ') continue;  

    $part1 = substr("$line_of_text", ..., ...); 
    $part2 = substr("$line_of_text", ..., ...);
    $part3 = substr("$line_of_text", ..., ...);
    $part1 = explode(' ', $part1);
    $part1 = array_unique($part1);
    $part1 = implode(' ', $part1);      
var_dump ($part1);
}       

file_put_contents('outputfile.txt', implode(PHP_EOL, $lines));

?>      

0 个答案:

没有答案