Hàm mb_strlen
Hàm mb_strlen trả về số ký tự trong chuỗi, hoạt động chính xác với các mã hóa đa byte (ví dụ: UTF-8). Không giống như strlen, nó đếm chính xác các ký tự chiếm nhiều byte. Tham số đầu tiên nhận chuỗi, tham số thứ hai (tùy chọn) - mã hóa.
Cú pháp
mb_strlen(string, [encoding]);
Ví dụ
Đếm độ dài chuỗi trong UTF-8:
<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Kết quả thực thi mã:
6
Ví dụ
So sánh với strlen cho ký tự Cyrillic:
<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Kết quả thực thi mã:
strlen: 8
mb_strlen: 4
Ví dụ
Sử dụng không chỉ định mã hóa
(mã hóa được lấy từ mb_internal_encoding):
<?php
echo mb_strlen('abcde');
?>
Kết quả thực thi mã:
5