2012-05-22 90 views
0

我有一個數組和一個外部文件,都包含大量的單詞。我想將數組中的字符串與整個外部文件進行匹配。那麼如果有相同的單詞,我想從數組中刪除單詞。php - 通過匹配外部文本文件從數組中刪除單詞

大部分縮短例如:

$words = {"apple", "orange", "banana", "grape", "peach"} 

外部文本文件的話

apple 
banana 
melon 
... 

我想刪除是在外部文件的話,最後得到的純名單這個。

$words = {"orange", "grape", "peach"} 

我應該調用外部文件切片每一行,然後將它們保存到另一個數組?然後與源數組進行比較? 什麼是比較數組和文本文件的最有效方法? 我很感激你的智慧!

回答

3

你可以使用array_difffile擺脫文件數組)。

$result = array_diff($words, file('path_to_file', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)); 

PS:如果您的外部文本文件是非常大的,你不希望在一個加載到內存時間,你可以逐行讀取它,並檢查它是否存在於數組中。

+0

海峽。至。的。點。 +1 –

+0

太棒了。這麼聰明! <3 – clerksx