strlen() и mb_strlen(): что считать
strlen() считает bytes, mb_strlen() — кодовые точки выбранной кодировки.
strlen($text) vs mb_strlen($text, 'UTF-8')Бинарные данные
Для размера протокола, хеша или файла нужен strlen(): байт — точная единица.
Текст
Для большинства ограничений русского текста используйте mb_strlen() с явной UTF-8.
Графемы
Emoji и combining marks могут состоять из нескольких кодовых точек. Для воспринимаемых знаков рассмотрите grapheme_strlen().
Вывод
Сначала назовите измеряемую величину, затем выбирайте функцию. Универсальной «длины строки» без контекста нет.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.