2012-10-04 34 views
1

我有两个字符串,它在与echo两个输出,产生相同的结果:为什么PHP不区分两个完全相同的字符串?

x+3=7\\\\x+3-3=7-3\\\\\\thereforex=4 

是的,这是一个有点乳胶。

但是当我使用:

$foo1 == $foo2 

PHP把它作为假的。为什么?我需要做些什么吗?我没有介绍这个问题吗?

+1

很可能是它们之间的一些非常细微的差别,比如一个以换行符结束,而另一个没有。 –

+0

@DavidSchwartz会修剪所有其他错误吗? – think123

+1

向我们展示您的php代码 – macino

回答

2

你不能完全确保两个字符串与普通回声相同,尤其是在通过Web浏览器的渲染视图检查输出时。工具必须:

+0

如何使用'bin2hex'来检测确切的区别?无论如何感谢很多 – think123

+0

。 – think123

+1

'bin2hex'将字符串转换为十六进制二进制表示形式,可以让您清楚地了解它们之间的差异。 –

1

你是最有可能与whitespaceSpecial Characters

处理见

$foo1 = 'x+3=7\\\\x+3-3=7-3\\\\\\thereforex=4'; 
$foo2 = 'x+3=7\\\\x+3-3=7-3\\\\\\thereforex=4'; 
var_dump($foo1 == $foo2); // returns true 

使用var_dump你会看到它们之间的真正区别

+0

实际上是空白。 – think123

+0

@ think123我绝对知道它的空白区域,但我的回答没有被接受... – Baba

+0

这只是我真的不需要'var_dump($ foo1 == $ foo2);'。抱歉。 – think123

相关问题