PHP字符串等于检查失败

PHP字符串等于检查失败,php,Php,我有个奇怪的问题。我检查了一个php字符串,如下所示: 在第1页 $_SESSION['test']=<a value from a row fetched from db> 我可以看到$myVar重复了我再次检查的同一个字符串“This is the match string”,但它仍然进入了其他字符串。我试过: $myVar=(string)trim($_SESSION['test']); 但它仍然会进入其他领域。问题是什么?有什么想法吗?后面可能有空格(空格、制表符、换行符

我有个奇怪的问题。我检查了一个php字符串,如下所示:

在第1页

$_SESSION['test']=<a value from a row fetched from db>
我可以看到$myVar重复了我再次检查的同一个字符串“This is the match string”,但它仍然进入了其他字符串。我试过:

$myVar=(string)trim($_SESSION['test']);

但它仍然会进入其他领域。问题是什么?有什么想法吗?

后面可能有空格(空格、制表符、换行符)

试一试


执行var_转储($_会话['test']);也可能会暴露问题。

可能后面有空格(空格、制表符、换行符)

试一试


执行var_转储($_会话['test']);也可能会暴露问题。

您确定您的字符串真的相等吗?
尝试var_dump($_会话['test']);比较两个长度和字母。

你确定你的字符串真的相等吗?
尝试var_dump($_会话['test']);并比较两个长度和字母。

请执行
var\u dump($myVar,$matchString)就在你的if语句之前,这可能会让你了解问题的原因if(strcmp($myVar,“这是匹配字符串”)==0{
请执行
var\u dump($myVar,$matchString);
在您的if语句之前,这可能会揭示问题的原因。使用
var\u dump($str);
验证它们是否完全相同;没有多余的换行符等。还使用一些空格和缩进。字符串是否为unicode字符?尝试使用
if(strcmp($myVar,“这是匹配字符串”)==0{
$myVar=(string)trim($_SESSION['test']);
$myVar = trim( $_SESSION['test'] );