PHP中相同的字符串值不相等?
我比较了PHP中两个相同的字符串值,但结果表明它们不相等。这是密码PHP中相同的字符串值不相等?,php,Php,我比较了PHP中两个相同的字符串值,但结果表明它们不相等。这是密码 $s = $fname; $t = $temp->get_teacher_name()." "; echo "<br/> s = $s<br/>"; echo "<br/> t = ".$temp->get_teacher_name()."<br/>"; echo var_dump($s)."<br/>; echo var_dump($t)
$s = $fname;
$t = $temp->get_teacher_name()." ";
echo "<br/> s = $s<br/>";
echo "<br/> t = ".$temp->get_teacher_name()."<br/>";
echo var_dump($s)."<br/>;
echo var_dump($t);
if($s == $t)
{
echo"<br/>Matching<br/>";
}
$s=$fname;
$t=$temp->get_teacher_name();
回声“
s=$s
”;
echo“
t=”.$temp->get_teacher_name().“
”;
echo var_dump($s)。”
;
echo var_dump($t);
如果($s==$t)
{
回声“
匹配
”;
}
$fname是使用“fgets”从文件中读取的,因此我认为它的末尾有一个额外的空间。
结果如下
结果表明它们不相等。您可以使用trim()删除字符串开头和结尾的空格
$s = trim($fname);
$t = trim($temp->get_teacher_name());
if ($s == $t) {
echo "<br/>Matching<br/>";
}
$s=trim($fname);
$t=trim($temp->get_teacher_name());
如果($s==$t){
回声“
匹配
”;
}
您可以使用trim()删除字符串开头和结尾的空白
$s = trim($fname);
$t = trim($temp->get_teacher_name());
if ($s == $t) {
echo "<br/>Matching<br/>";
}
$s=trim($fname);
$t=trim($temp->get_teacher_name());
如果($s==$t){
回声“
匹配
”;
}
不要在$t
的末尾添加空格,而是尝试通过trim()运行$s
和$t
)
在比较它们之前。您与t=
的输出实际上并没有输出t
相等的内容。因此,您并没有真正表明这两个字符串相等。与其在$t
末尾添加空格,不如尝试通过trim()同时运行$s
和$t
在您比较它们之前。您与t=
的输出实际上并没有输出t
等于什么。因此,您并没有真正表明这两个字符串是相等的。感谢它现在起作用了。但我不知道为什么它以前在它们相等时不起作用。我不知道$temp->get\u teacher\u name()中发生了什么。trim()比你想做的更好。如果答案对你有帮助,就接受它;)谢谢它现在起作用了。但我不知道为什么在它们相等的情况下它以前不起作用。我不知道$temp->get\u teacher\u name()中发生了什么。trim()比你想做的更好。如果答案对你有帮助,就接受它;)