2012-08-17 126 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 .. 这就是它......问题解决了..