php字符串比较不能正常工作==

时间:2014-04-18 06:12:34

标签: php string comparison

我对字符串比较有疑问

if($decryptedname == $plain)
{
echo "success <br/>";
echo $_SESSION['decryptedname'];
}

在for循环中通过一个文本文件,decryptedname包含一个字符串“Lee”和plain包含我的文本文件中的数据并逐行打印,因为它们都包含一个值为“Lee”的字段i假设它应匹配并打印成功以及$ decryptedname但不是,下面是复制和粘贴的结果,其中lee是$ decryptedname而其他的是$ plain通过for循环回显

解密名称是Lee

解密的电子邮件是mjlee181@hotmail.com

解密邮件正在测试

3 个答案:

答案 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” 个, “”,$平原);