我对字符串比较有疑问
if($decryptedname == $plain)
{
echo "success <br/>";
echo $_SESSION['decryptedname'];
}
在for循环中通过一个文本文件,decryptedname包含一个字符串“Lee”和plain包含我的文本文件中的数据并逐行打印,因为它们都包含一个值为“Lee”的字段i假设它应匹配并打印成功以及$ decryptedname但不是,下面是复制和粘贴的结果,其中lee是$ decryptedname而其他的是$ plain通过for循环回显
利
解密名称是Lee
解密的电子邮件是mjlee181@hotmail.com
解密邮件正在测试
答案 0 :(得分:0)
从文本文件加载内容时,有可能会添加空格,因此在这种情况下,请始终执行trim()
然后进行比较。
喜欢这个..
if(trim($decryptedname) == trim($plain))
{
echo "success <br/>";
echo $_SESSION['decryptedname'];
}
或者如果你试图检查字符串是否包含在另一个字符串中......你应该改为stripos()
。
if(stripos($decryptedname,$plain)!==false)
{
echo "success <br/>";
echo $_SESSION['decryptedname'];
}
答案 1 :(得分:0)
<?php
if (strcasecmp($decryptedname , $plain) == 0) {
echo "success <br/>";
echo $_SESSION['decryptedname'];
?>
你可以尝试一下。可以帮助你
答案 2 :(得分:0)
上述问题可能是由于字符串末尾的'\ n'引起的。 如果字符串“Lee”出现在文本文件的行尾,则最后可能会自动附加'\ n'。因此,如果从末尾删除'\ n',它可能正常工作。您可以使用以下函数来执行此操作:
$平原= str_replace函数( “\ r \ n” 个, “”,$平原);