Strpos () не работает должным образом

0

Я пытаюсь найти входной контент (электронную почту) в текстовом файле. Пока режим работает очень хорошо, если значения верны, иначе он, кажется, переходит в состояние. Позволь мне объяснить:

У меня есть переменная $email содержащая возможный адрес электронной почты, а затем текстовый файл, содержащий все электронные письма, разделенные разделителем, такие как:

email; email; etc ...

на данный момент с strpos(); Я проверяю, найден ли параметр в файле, и это работает, может быть, слишком много. В частности, если я вставляю электронное письмо, которого нет в файле, код возвращается к сообщению "email found", даже если он не был найден!

Почему это происходит?

$email = "[email protected]";
$file = file_get_contents("utenti.txt"); //get file contents
if(null != strpos($file, $email))
{
    echo "email found";
}else{
   echo "email was not found!";
}
  • 1
    if strpos ($hackstack, $needle) !== false) { ... }
  • 1
    strpos не возвращает ноль
Показать ещё 1 комментарий
Теги:
strpos

1 ответ

3
Лучший ответ

Изменить:

if(null != strpos($file, $email))

чтобы:

if(false !== strpos($file, $email))

Это связано с тем, что strpos может быть нулевым, поэтому вам нужно проверить значение false.

Я также хотел бы видеть комментарий Фреда на вопрос. Он делает очень хороший момент.

  • 0
    Да, теперь работает отлично! Это моя ошибка, спасибо всем, ребята :)
  • 0
    Спасибо за упоминание Дэвида. +1, потому что это решает проблему с кодом в OP.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню