Php 菲律宾元';不能比较同一个字符串
如果我显示Php 菲律宾元';不能比较同一个字符串,php,string-comparison,Php,String Comparison,如果我显示$d[0]它就是liam。schnell@gmail.com但它拒绝接受如果 $d = file("mails.txt"); if ($d[0] == "liam.schnell@gmail.com") { echo "JOW!"; } echo $d[0]; 有什么想法吗?尝试调用$d[0],这将删除字符串开头和结尾的所有新行字符 $d = file("mails.txt"); if(trim($d[0])=="liam.schnell@gm
$d[0]
它就是liam。schnell@gmail.com
但它拒绝接受如果
$d = file("mails.txt");
if ($d[0] == "liam.schnell@gmail.com") {
echo "JOW!";
}
echo $d[0];
有什么想法吗?尝试调用$d[0]
,这将删除字符串开头和结尾的所有新行字符
$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];
结果数组中的每一行都将
包括行尾,除非
文件\u忽略\u使用新的\u行,因此
如果需要,仍然需要使用rtrim()
我不想让这行结尾出现
发件人:我同意迈克·刘易斯的观点,使用trim可能会解决它失败的原因 另外,一般来说,如果在PHP中比较字符串时出现奇怪的结果,请尝试“===”或strcomp以查看是否解决了该问题
在
$d[0]
的末尾可能有一个换行符。如果我将其与利亚姆比较,则不会。schnell@gmail.com\n它不会触发您可以使用var\u dump
更好地查看变量的内容,因为它将避开讨厌的换行符和其他东西,以便您可以看到它们。\r\n
在某些非*nix系统上也被视为换行符。您是否在Windows机箱上?\r\n适用于Windows\n是unix,我相信旧的osx之前的Mac使用了\rOrstrcasecmp
,这是二进制安全的不区分大小写的字符串比较。
$d = file("mails.txt", FILE_IGNORE_NEW_LINES);
if ($d[0] == "liam.schnell@gmail.com") {
echo "JOW!";
}
echo $d[0];