Strpos()无法正常工作

时间:2014-11-20 16:07:21

标签: php strpos

我试图在文本文件中查找输入内容(电子邮件)。 到目前为止,如果值正确,模式效果很好,否则它似乎进入状态。让我解释一下:

我有变量$email可能的电子邮件的内容,然后是一个文本文件,其中包含由分隔符分隔的所有电子邮件,例如:

email; email; etc ...

此时使用strpos();我检查文件中是否找到参数,这样做可能太多了。 特别是,如果我插入一个不存在于文件中的电子邮件,则代码将返回到消息" email found"即使没有找到它!

为什么会这样?

$email = "alakey@gmail.com";
$file = file_get_contents("utenti.txt"); //get file contents
if(null != strpos($file, $email))
{
    echo "email found";
}else{
   echo "email was not found!";
}

1 个答案:

答案 0 :(得分:3)

变化:

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

为:

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

这是因为strpos可能为零,因此您需要测试false。

我也会看到Fred -ii-在这个问题上发表的评论。他提出了一个很好的观点。