php中的字符串比较

时间:2012-04-05 12:11:35

标签: php html string

我正在尝试比较HTML中的密码表单中的两个字符串。

它们存储在$_POST的变量中。我打印出来看起来一样,但下面的代码永远不会评估为真,只有假。为什么会这样?

//Verify the passwords match
if( ($passwd != $pass_confirm) && ($new_email != $email_confirm) ){
    echo "Email and/or password do not match";
    return FALSE;
}

我感谢任何帮助。

2 个答案:

答案 0 :(得分:7)

要让您的代码显示错误消息,电子邮件和密码都必须是错误的。

尝试使用||代替&&,因此当其中一个错误时会显示错误。

答案 1 :(得分:1)

如果您将它们打印出来并且外观相同,则可能会出现尾随换行符问题。也许你可以在比较前尝试 trimming 字符串?执行 var_dump 可能有助于查明问题,因为它显示了字符串的长度。

另外,我建议进行以下检查(注意||和严格比较运算符):

if ($passwd !== $pass_confirm || $new_email !== $email_confirm) {
    echo "Email and/or password do not match";
    return false;
}