Hàm strlen() trong PHP

Hàm strlen() trong PHP
Hàm strlen() trong PHP

Chức năng của Hàm strlen() trong PHP

Hàm strlen() trong PHP dùng để tính độ dài của chuỗi bằng byte chứ không phải tính tổng số ký tự.

Cú pháp của Hàm strlen() trong PHP

$số_byte = strlen($chuỗi_gốc);

$chuỗi_gốc: Biến chuỗi gốc cần kiểm tra số byte.

$số_byte: Trả về kết quả là biến chứa số byte.

Ví dụ Hàm strlen() trong PHP

<?php
$chuoigoc = "Web Mới";
echo strlen($chuoigoc); // Kết quả: 9
echo "<br>";
$chuoigoc1 = "học"; // Kết quả: 5
echo strlen($chuoigoc1);
?>

Chạy Thử

strlen() xử lý chuỗi tiếng Việt như thế nào?

Khi làm việc với chuỗi tiếng Việt, strlen() có thể cho kết quả khác với số ký tự mà người dùng nhìn thấy. Nguyên nhân là hàm này tính số byte của chuỗi, không phải số ký tự theo cách đọc thông thường.

Vì sao strlen() trả về số byte thay vì số ký tự?

PHP xử lý chuỗi dưới dạng một dãy byte. Với chuỗi chỉ chứa các ký tự ASCII như chữ cái tiếng Anh hoặc chữ số, mỗi ký tự thường tương ứng với một byte nên kết quả của strlen() dễ trùng với số ký tự.

Trong khi đó, các ký tự tiếng Việt khi được lưu bằng UTF-8 thường cần nhiều byte. Vì vậy, một chuỗi có ít ký tự vẫn có thể có độ dài byte lớn hơn đáng kể.

<?php
$text = "Tiếng Việt";

echo strlen($text);
?>

Ở ví dụ trên, kết quả của strlen() không nên được hiểu đơn giản là số chữ cái trong chuỗi. Nếu mục đích là kiểm tra độ dài nội dung mà người dùng nhìn thấy, cần lựa chọn cách xử lý phù hợp với Unicode thay vì chỉ dựa vào hàm này.

Cách đếm ký tự tiếng Việt chính xác trong PHP

Đối với chuỗi UTF-8, mb_strlen() thường phù hợp hơn khi cần đếm số ký tự. Hàm này hiểu chuỗi theo bảng mã được chỉ định nên có thể xử lý tiếng Việt đúng với nhu cầu kiểm tra độ dài văn bản.

<?php
$text = "Tiếng Việt";

echo mb_strlen($text, "UTF-8");
?>

Có thể hiểu đơn giản: strlen() phù hợp khi cần biết kích thước chuỗi theo byte, còn mb_strlen() phù hợp hơn khi cần xác định số ký tự của nội dung Unicode như tiếng Việt. Việc chọn đúng hàm sẽ giúp tránh sai lệch khi giới hạn độ dài tiêu đề, tên người dùng hoặc nội dung nhập từ biểu mẫu.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm strlen() trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm strlen() trong PHP
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !