如果我显示$d[0]
是[email protected]
但它拒绝接受,如果...PHP不会比相同的字符串
$d = file("mails.txt");
if ($d[0] == "[email protected]") {
echo "JOW!";
}
echo $d[0];
任何想法?
如果我显示$d[0]
是[email protected]
但它拒绝接受,如果...PHP不会比相同的字符串
$d = file("mails.txt");
if ($d[0] == "[email protected]") {
echo "JOW!";
}
echo $d[0];
任何想法?
尝试在$d[0]
上调用trim function,这将删除字符串开头和结尾处的所有新行字符。
$d = file("mails.txt");
if(trim($d[0])=="[email protected]"){
echo "JOW!";
}
echo $d[0];
或不包含任何新线都:
$d = file("mails.txt", FILE_IGNORE_NEW_LINES);
if($d[0]=="[email protected]"){
echo "JOW!";
}
echo $d[0];
所得数组中的每一行都会 包括结束行,除非使用 FILE_IGNORE_NEW_LINES,所以你 仍然需要如果你使用rtrim() 不希望行结束。
只trim()不是$ trim() – Dmitri 2011-04-01 21:18:55
哦,你是对的:)谢谢! – 2011-04-01 21:20:12
$d = file("mails.txt", FILE_IGNORE_NEW_LINES);
if ($d[0] == "[email protected]") {
echo "JOW!";
}
echo $d[0];
我同意迈克·刘易斯,使用装饰可能会解决它为什么失败。另外,一般来说,如果您在比较字符串时在PHP中出现奇怪的结果,请尝试'==='或strcomp以查看解决该问题的方法。
或'strcasecmp',它是二进制安全的不区分大小写的字符串比较。 – 2013-12-10 12:00:38
有可能是在'$ d [0]'结束了'newline'字符。 – drudge 2011-04-01 21:15:49
不,如果我将它与[email protected]进行比较,它不会触发 – 2011-04-01 21:17:31
您可以使用'var_dump'来更好地查看变量的内容,因为它可以逃脱讨厌的换行符和其他东西,所以您可以看到他们。 – Thanatos 2011-04-01 21:19:17