2012-08-17 130 views
1

我使用in_array函數與阿拉伯語... in_array ('من', $words)給予真正的地方,$字真的包括منphp:in_array()與阿拉伯語

in_array('من', $stopWords)是給假雖然它包括單詞من...

print_r($stopWords); 

給予:

陣列([0] =>من)

print_r($words);

給出:

陣列([0] =>من)

可能是什麼問題?

+0

嘗試'var_dump(bin2hex($ stopWords [0]))''和你的針串一樣,看看它們是否相同。 – deceze 2012-08-17 09:32:22

+7

最可能的解釋是兩個比較字符串存儲在不同的字符集中。你是定義數組並在相同的PHP文件中進行檢查嗎?如果沒有,你是否100%肯定都在相同的編碼? – 2012-08-17 09:33:15

+0

怎麼看你的陣列? – 2012-08-17 09:38:42

回答

0

您應該爲此使用unicode。如果您將阿拉伯文字母轉換爲unicode。你可以檢查數組。你沒有任何問題。

+0

$ stopWords已經在utf8中 – 2012-08-17 11:20:45

-1

$ stopWords [0]是在'من'之前的一個空格。 因此,因爲我必須處理真正的文本文件,並將其反射到$ stopWords中,所以我無法修改它.. 而不是..我使用mb_strpos來捕獲任何元素中'من'字的任何出現數組$ stopWords .. 這就是它......問題解決了..