Как искать в текстовом файле строку в PHP - PullRequest
1 голос
/ 30 марта 2012

Привет! У меня есть текстовый файл (по одному слову в строке), и я хочу найти его. Я использую следующий код, но он ищет только последнюю строку. Кто-нибудь может помочь? Спасибо

    $lines = file('names.txt');
$uid = $_POST['name'];
$found = false;

foreach ($lines as $line){
    if ($line == $uid)
        $found = true;
}

if ($found)
    echo 'YES';
else
    echo 'NO';

Ответы [ 3 ]

7 голосов
/ 31 марта 2012

Ничего плохого в вашем подходе, но вам нужно убрать переводы новой строки в конце строк:

if (trim($line) == $uid)
3 голосов
/ 31 марта 2012

Или используйте file('names.txt',FILE_IGNORE_NEW_LINES);, который запрещает новую строку в конце каждого элемента массива.

1 голос
/ 31 марта 2012

Сделайте var_dump из $ строк, чтобы увидеть, является ли массив массивом или нет? Если нет, то файл не отделен \ r \ n

и для сравнения строки http://php.net/manual/ru/function.strcasecmp.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...