2015-11-26 52 views
-1

我有一個文本文件。我想用搜索查詢刪除一些行。 該數組是逐行。我想使它像http://keywordshitter.com/如何刪除文本文件中的數組PHP

的邏輯是,

搜索 - >陣 - >輸出爲ARRAY沒有 「QUERY搜索」

碼我曾嘗試:

$fileset = file_get_contents("file.txt"); 
$line = explode("\n", $fileset); 
$content = array_search("query",$line); 
print_r($content); 

MY file.txt的

one 
two 
three 
apple 
map 

我已經使用array_search但不工作。

+1

我們展示的帽子你已經嘗試 – 2015-11-26 03:36:41

+0

我有更新我的代碼。它只是用於搜索的代碼。但輸出是空的 –

+0

你可以發佈一個'file.txt'的樣本位,這樣我們可以重現問題嗎? – chris85

回答

0

你可以像

$fileset=file("file.txt"); // file function reads entire file into an array 
$len=count($fileset); 
for($i=0;$i<$len;$i++) 
    { 
     if($fileset[$i]=="query") 
      { 
       $fileset[$i]=""; 
       break;     //then we will stop searching 
      } 
    } 
$fileset_improve=implode($fileset); //this will again implode your file 
$handle=fopen("file.txt","w");  //opening your file in write mode 
fwrite($handle,$fileset_improve);  //writing file with improved lines 
fclose($handle);     //closing the opened file 

搜索記住這行讓您的搜索線blank ....

,如果你想,那麼你可以安排整個陣列即shifting following indexed data to previous index減少行數,但此會增加你的編程複雜度。

希望這會爲你工作。

感謝

+0

我會嘗試它。希望它是我想要的。 –

+0

嗨阿巴斯,我已經嘗試過了。但我有問題。當我運行腳本時,Script剛剛刪除了最後一個數組查詢。你的解決方案是什麼? –

+0

最後一個數組查詢???你能解釋一下嗎... – Abbas

0

在爆炸函數上使用PHP_EOL而不是「\ n」。 PHP_EOL將處理服務器平臺的正確換行符。