mb functions (mb_strtolower, mb_strpos)
Glossary overview

mb functions (mb_strtolower, mb_strpos)

mb_ = Multibyte
(многобайтовые функции, от “Multibyte String”).

Обычные строковые функции в PHP (например, strlen, substr, strtolower) работают только с однобайтовыми символами, то есть символами, которые укладываются в один байт. Это хорошо для английского алфавита, но не подходит для русского, китайского, арабского и других языков, где один символ может занимать 2, 3 или 4 байта (в кодировке UTF-8, например).

Популярные mb_ функции:

ОбычнаяМногобайтовая альтернативаЧто делает
strlen()mb_strlen()Длина строки (в символах, не в байтах)
substr()mb_substr()Вырезает подстроку
strtolower()mb_strtolower()Перевод в нижний регистр
strtoupper()mb_strtoupper()Перевод в верхний регистр
strpos()mb_strpos()Поиск позиции подстроки
strrpos()mb_strrpos()Поиск последней позиции подстроки

Когда использовать mb_?

Если ты работаешь только с английским — можно использовать обычные функции.

Если есть хоть немного русского, украинского, латышского и т.д., или ты просто хочешь, чтобы код всегда был безопасным — лучше сразу использовать mb_ функции.