У меня есть простой скрипт, который берет слово из формы и оценивает, существует ли он в файле (.txt). В файле txt есть одно слово или фраза в каждой строке. В файле нет \ t или \ r.in_array возвращает false, когда должен возвращать true
Однако, когда я отправляю форму и POST первое слово в файле (например, «the»), следующий скрипт возвращает false, когда он должен возвращать значение true.
Я знаю это, потому что когда я распечатать массив $ файл, я получаю на экране:
Array
(
[0] => the
...
Так что есть что-то не так ...
$word = $_POST['word']);
// Get a file into an array.
$file = file('master.txt');
if (in_array($word, $file)) {
echo "true";
}
else {
echo "false";
}
echo "<pre>";
print_r($file);
echo "</pre>";
Может кто-то пожалуйста, скажите мне, где Я ошибаюсь здесь, так как массив, возвращаемый файлом(), кажется чистым, а слово POSTed («the») является первым значением в массиве file(). Я проверил, что данные POST на самом деле тоже отправляются правильно.
TIA.
Есть ли «отдельная» строка в файле? Функция 'file()' возвращает массив с элементом, соответствующим каждой строке в файле. – animuson