【发布时间】:2015-07-29 03:10:20
【问题描述】:
更新: Anwer 在这里PHP unserialize fails with non-encoded characters?
我正在尝试将对象与 in_array 匹配。除了将此字符串作为属性的对象之外,这工作正常。视觉上它们是相同的,但是当我执行 var_dump PHP 时会看到不同的长度。
var_dump 结果:
string(26) "Waar zijn mijn centjes????"
string(31) "Waar zijn mijn centjes????"
可能是什么原因?一些我不知道的 ascii 值?
【问题讨论】:
-
你查看源代码了吗?,一些隐藏字符,空格?!
-
这是因为 UTF。例如。这个
var_dump("åèö");导致了这个string(6) "åèö"所以我认为你不能在视觉上比较它们。 -
好的。这就说得通了。但是我该如何解决呢?当我调用 in_array 时,如何让 PHP 给我“真实”
-
某处可见。试试这个: in_array( mb_strtolower($str, "UTF-8"), $arr)
-
尝试用 bin2hex 输出字符串,你会看到不同