На хостинге есть файл представляющий собой форму:
abc | Text | Text
cba | Text | Text
cba | Text | Text
Сравнивать нужно только первый столбец. И вопрос заключается, как можно сделать удаление повторно строк, в которых совпадают первые столбцы?
Ещё вариант в коллекцию ответов:
$fn = 'file_name.txt'; // имя текст.файла
$arr = file_exists($fn) ? file($fn, FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) : [];
if (! empty($arr)) {
$tmp = [];
$arr = array_filter($arr, function($i)use(&$tmp){
return (in_array(($e = explode('|', $i)[0]), $tmp)) ? '' : $tmp[] = $e;
});
file_put_contents($fn, join("\n", $arr));
}
$inFile = fopen('myfile', 'r');
if ($inFile) {
$outFile = fopen('myfile.tmp', 'wb');
if ($outFile) {
$keys = [];
while (!feof($inFile)) {
$str = fgets($inFile);
$strData = explode(' | ', $str);
if (!isset($keys[$strData[0]])) {
fwrite($outFile, $str . PHP_EOL);
$keys[] = $strData[0];
}
}
fclose($outFile);
}
fclose($inFile);
rename('myfile.tmp', 'myfile');
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
не могу понять как сделать такую штуку, уже сижу долгоЕсть таблица events в которую нужно занести ид категории и текст этой категории
Есть NGINX, установлен сертификат от Lets Encrypt через certbotИ стоит сайт на PHP