php - 通过匹配外部文本文件从数组中删除单词

时间:2012-05-22 03:20:33

标签: php

我有一个数组和一个外部文件,两者都包含很多单词。我想将数组中的字符串与整个外部文件进行匹配。然后,如果有相同的单词,我想从数组中删除该单词。

很简短的例子:

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

外部文本文件是纯文字列表

apple
banana
melon
...

我想删除外部文件中的单词,最后得到它。

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

我应该调用外部文件,对每一行进行切片,然后将它们保存到另一个数组中吗?然后与源数组进行比较? 比较数组和文本文件的最有效方法是什么? 我很感激你的智慧!

1 个答案:

答案 0 :(得分:3)

您可以使用array_diff。(file从文件中获取数组。)

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

PS:如果您的外部文本文件非常大,并且您不想一次将其加载到内存中,您可以逐行读取它,并检查它是否存在于数组中。