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)

我比较了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);
 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()比你想做的更好。如果答案对你有帮助,就接受它;)