Strlen () и нелатинские символы

У меня есть этот код case strlen($search_term) > 15: в моем switch заявление. Я не могу понять, почему греческие символы анализируются по-разному. Например, string на латыни длиной 10 проходит case но если string на греческом, это не так.

Кроме решения я был бы признателен за объяснение моей проблемы.

1

Решение

strlen() возвращает байтов строки, а не длины.

Многие греческие символы имеют размер 2 байта вместо 1, поэтому вы думаете, что получаете неправильные результаты.

использование mb_strlen() вместо: http://lt.php.net/manual/en/function.mb-strlen.php

Надеюсь это поможет

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]