2012-10-04 35 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

相關問題