Функция mb_strlen
Функция mb_strlen
возвращает количество символов в строке, корректно работая с многобайтовыми кодировками (например, UTF-8). В отличие от strlen
, она правильно подсчитывает символы, занимающие несколько байт. Первым параметром принимает строку, вторым (необязательным) - кодировку.
Синтаксис
mb_strlen(string, [encoding]);
Пример
Подсчет длины строки в UTF-8:
<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Результат выполнения кода:
6
Пример
Сравнение с strlen
для кириллицы:
<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Результат выполнения кода:
strlen: 8
mb_strlen: 4
Пример
Использование без указания кодировки
(кодировка берется из mb_internal_encoding
):
<?php
echo mb_strlen('abcde');
?>
Результат выполнения кода:
5