我试图在文本文件中查找输入内容(电子邮件)。 到目前为止,如果值正确,模式效果很好,否则它似乎进入状态。让我解释一下:
我有变量$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!";
}
答案 0 :(得分:3)
变化:
if(null != strpos($file, $email))
为:
if(false !== strpos($file, $email))
这是因为strpos可能为零,因此您需要测试false。
我也会看到Fred -ii-在这个问题上发表的评论。他提出了一个很好的观点。