日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php去除每行的重复文本,php删除文本文件中重复行的方法

發布時間:2023/12/2 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php去除每行的重复文本,php删除文本文件中重复行的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了php刪除文本文件中重復行的方法。分享給大家供大家參考。具體分析如下:

這個php函數用來刪除文件中的重復行,還可以指定是否忽略大小寫,和指定換行符

?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465/**?* RemoveDuplicatedLines?* This function removes all duplicated lines of the given text file.?*?* @param?? string?* @param?? bool?* @return? string?*/function RemoveDuplicatedLines($Filepath, $IgnoreCase=false, $NewLine="\n"){??if (!file_exists($Filepath)){????$ErrorMsg = 'RemoveDuplicatedLines error: ';????$ErrorMsg .= 'The given file ' . $Filepath . ' does not exist!';????die($ErrorMsg);??}??$Content = file_get_contents($Filepath);??$Content = RemoveDuplicatedLinesByString($Content, $IgnoreCase, $NewLine);??// Is the file writeable???if (!is_writeable($Filepath)){????$ErrorMsg = 'RemoveDuplicatedLines error: ';????$ErrorMsg .= 'The given file ' . $Filepath . ' is not writeable!';? ????die($ErrorMsg);??}??// Write the new file??$FileResource = fopen($Filepath, 'w+');?? ??fwrite($FileResource, $Content);??? ??fclose($FileResource);? }??/**?* RemoveDuplicatedLinesByString?* This function removes all duplicated lines of the given string.?*?* @param?? string?* @param?? bool?* @return? string?*/function RemoveDuplicatedLinesByString($Lines, $IgnoreCase=false, $NewLine="\n"){??if (is_array($Lines))????$Lines = implode($NewLine, $Lines);??$Lines = explode($NewLine, $Lines);??$LineArray = array();??$Duplicates = 0;??// Go trough all lines of the given file??for ($Line=0; $Line < count($Lines); $Line++){????// Trim whitespace for the current line????$CurrentLine = trim($Lines[$Line]);????// Skip empty lines????if ($CurrentLine == '')??????continue;????// Use the line contents as array key????$LineKey = $CurrentLine;????if ($IgnoreCase)??????$LineKey = strtolower($LineKey);????// Check if the array key already exists,????// if not add it otherwise increase the counter????if (!isset($LineArray[$LineKey]))??????$LineArray[$LineKey] = $CurrentLine;??? ????else?????????????$Duplicates++;??}??// Sort the array??asort($LineArray);??// Return how many lines got removed??return implode($NewLine, array_values($LineArray));? }

使用范例:

?12345678910111213// Example 1// Removes all duplicated lines of the file definied in the first parameter.$RemovedLinesCount = RemoveDuplicatedLines('test.txt');print "Removed $RemovedLinesCount duplicate lines from the test.txt file.";// Example 2 (Ignore case)// Same as above, just ignores the line case.RemoveDuplicatedLines('test.txt', true);// Example 3 (Custom new line character)// By using the 3rd parameter you can define which character// should be used as new line indicator. In this case// the example file looks like 'foo;bar;foo;foo' and will// be replaced with 'foo;bar' RemoveDuplicatedLines('test.txt', false, ';');

希望本文所述對大家的php程序設計有所幫助。

小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

總結

以上是生活随笔為你收集整理的php去除每行的重复文本,php删除文本文件中重复行的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。