Я пытаюсь найти входной контент (электронную почту) в текстовом файле. Пока режим работает очень хорошо, если значения верны, иначе он, кажется, переходит в состояние. Позволь мне объяснить:
У меня есть переменная $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!";
}
Изменить:
if(null != strpos($file, $email))
чтобы:
if(false !== strpos($file, $email))
Это связано с тем, что strpos может быть нулевым, поэтому вам нужно проверить значение false.
Я также хотел бы видеть комментарий Фреда на вопрос. Он делает очень хороший момент.
if
strpos($hackstack, $needle) !== false) { ... }