Моя первоначальная реализация теста состояла из построения массива "игнорируемых слов" со следующим кодом:
$ignoreList = array("test1", "test2", "test3");
Позже я проверяю отдельные слова в $ ignoreList:
if(in_array($word, $ignoreList)){
} else{
$words[$word] = $words[$word] + 1;
}
Этот код работает отлично - при повторении моего списка слов в слове $ ignoreList не отображаются никакие слова. Я сделал рефакторинг, чтобы было легче добавлять или удалять слова:
//Import ignore list
$ignore_raw = file_get_contents("includes/ignore.txt");
$ignoreList = explode("\n", $ignore_raw);
ignore.txt - это простой текстовый файл с каждым элементом в отдельной строке, без пробелов. Кажется, что работает import и explode, потому что оператор print_r для $ ignoreList приводит к:
Array ( [0] => a [1] => and [2] => are [3] => as [4] => for [5] => in [6] => is [7] => more [8] => of [9] => than [10] => that [11] => the [12] => to [13] => with )
Код сравнения, однако, перестает работать должным образом, и слова из списка игнорирования снова появляются в моих окончательных результатах. Есть идеи что не так?