如果我显示$d[0]
它是liam.schnell@gmail.com
,但它拒绝接受if ...
$d = file("mails.txt");
if ($d[0] == "liam.schnell@gmail.com") {
echo "JOW!";
}
echo $d[0];
有什么想法吗?
答案 0 :(得分:7)
尝试拨打$d[0]
上的trim function,这会删除字符串开头和结尾的所有换行符。
$d = file("mails.txt");
if(trim($d[0])=="liam.schnell@gmail.com"){
echo "JOW!";
}
echo $d[0];
或根本不包括任何新行:
$d = file("mails.txt", FILE_IGNORE_NEW_LINES);
if($d[0]=="liam.schnell@gmail.com"){
echo "JOW!";
}
echo $d[0];
结果数组中的每一行都会 包括行结尾,除非 使用FILE_IGNORE_NEW_LINES,所以你 如果你这样做,仍然需要使用rtrim() 不希望行结束现在。
答案 1 :(得分:4)
我同意Mike Lewis的看法,使用trim可能会解决为什么失败的问题。
另外,一般来说,如果你在比较字符串时在PHP中遇到奇怪的结果,请尝试使用'==='或strcomp来解决这个问题。
答案 2 :(得分:3)
$d = file("mails.txt", FILE_IGNORE_NEW_LINES);
if ($d[0] == "liam.schnell@gmail.com") {
echo "JOW!";
}
echo $d[0];