2011-02-10 75 views
2

我有兩個字符串,我在單元測試中比較。當我回顯這些字符串時,它們看起來完全一樣......但是......與strcmp比較時,它們不是。字符串看起來確切,但它們不匹配?

查看strlen()時,一個字符串比其他字符略長,約3個字符。

我懷疑這可能是因爲換行符/換行符。

on字符串$ a從文件(在Windows上)加載,另一個$ b由腳本生成。我在單元測試中比較$ b和$ a。

如何轉換所有行提要,使它們相同?

+0

不太可能將其刪除,但它也可以,如果它是一個UTF-8編碼字符串的問題。 – mario 2011-02-10 18:47:26

+0

或者unix v.s.窗口行結束。 `\ n` v.s.假設在輸入字符串中有3個換行符,`\ r \ n`將解釋長度差異。 – 2011-02-10 19:11:48

回答

4

首先,找出這是否是真正的問題。 var_dump這兩個字符串在某些環境中,如果他們在那裏你會看到空行。

然後,如果行尾的問題,與trim

$str = trim($str); 

或者str_replace

$str = str_replace(array("\r", "\n"), "", $str); 
相關問題