我在 PHP 中比较两个包含特殊字符 'ö' 的 Unicode 字符串时遇到了困难。一个字符串来自 $_GET
,另一个是文件系统的文件夹名称(scandir()
)。这两个字符串在我的看法下似乎是相等的,但实际上却不相等。
var_dump($filter);
var_dump($tail . '/' . $k);
在它们上面也显示了它们的相等性,但是有不同的字符串长度(?!):
string '/blöb' (length=7)
string '/blöb' (length=6)
以下是我的代码片段来比较它们:
if($filter == ($tail . '/' . $k)) {
/* ... */
}
这里发生了什么? 额外信息:
$tail
是一个空字符串:string '' (length=0)
print_r(unpack("H*",$k))
返回什么? - Anders Lindahl