Я застрял в сравнении двух строк Unicode в PHP, которые содержат специальный символ 'ö'. Одна строка взята из $_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)