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

phpmb_strlen(string, [encoding]);

Ví dụ

Đếm độ dài chuỗi trong UTF-8:

php<?php
  $res = mb_strlen('Привет', 'UTF-8');
  echo $res;
?>

Kết quả thực thi mã:

php6

Ví dụ

So sánh với strlen cho ký tự Cyrillic:

php<?php
  $str = 'тест';
  echo 'strlen: ' . strlen($str) . '<br>';
  echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>

Kết quả thực thi mã:

phpstrlen: 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<?php
  echo mb_strlen('abcde');
?>

Kết quả thực thi mã:

php5

Xem thêm

  • hàm strlen,
    hàm trả về độ dài chuỗi tính theo byte
  • hàm mb_substr,
    hàm cắt chuỗi con có tính đến mã hóa