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

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

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

email; email; etc ...

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

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

$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!";
}

0

Решение

Изменить:

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

чтобы:

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

Это потому что StrPos может быть ноль, поэтому вам нужно проверить на ложь.

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

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]