Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove duplicate data in a text file with php

Tags:

php

I am in need to open a text file (file.txt) which contains data in the following format

ai
bt
bt
gh
ai
gh
lo
ki
ki
lo

ultimately I want to remove all the duplicate lines so only one of each data remains. So the result would look like this

ai
bt
gh
lo
ki

any help with this would be awesome

like image 441
Cesar Bielich Avatar asked Nov 14 '12 17:11

Cesar Bielich


2 Answers

This should do the trick:

$lines = file('file.txt');
$lines = array_unique($lines);

file() reads the file and puts every line in an array.

array_unique() removes duplicate elements from the array.

Also, to put everything back into the file:

file_put_contents('file.txt', implode($lines));
like image 198
wassup Avatar answered Sep 22 '22 19:09

wassup


Take the php function file() to read the file. You get an array of lines from your file. After that, take array_unique to kick out the duplicates.

In the end, you will have something like

$lines = array_unique(file("your_file.txt"));
like image 20
David Müller Avatar answered Sep 22 '22 19:09

David Müller