PHP:
Chuyển đổi chuỗi thành chữ thường
Làm thế nào:
PHP sử dụng strtolower
để chuyển tất cả các ký tự trong một chuỗi thành chữ thường. Dưới đây là cách nó hoạt động:
<?php
$chuoiGoc = "HeLLo WoRLD!";
$chuoiChuThuong = strtolower($chuoiGoc);
echo $chuoiChuThuong; // Xuất ra: hello world!
?>
Nếu bạn cần xử lý mã hóa ký tự đa byte, như UTF-8, hãy sử dụng mb_strtolower
thay thế:
<?php
$chuoiGoc = "İstanbul";
$chuoiChuThuong = mb_strtolower($chuoiGoc, 'UTF-8');
echo $chuoiChuThuong; // Xuất ra: istanbul (chuyển đổi đúng từ İ thành i)
?>
Tìm hiểu sâu hơn
Về lịch sử, hàm strtolower
của PHP đã là hàm đi đến cho việc chuyển đổi chữ hoa thành chữ thường, được giới thiệu trong các phiên bản rất sơ khai của PHP. Tuy nhiên, khi các ứng dụng PHP trở nên phổ biến toàn cầu, nhu cầu xử lý chính xác mã hóa ký tự đa byte đã dẫn đến mb_strtolower
.
Các phương án thay thế cho strtolower
và mb_strtolower
bao gồm sử dụng biểu thức chính quy với hàm mb_ereg_replace_callback
hoặc preg_replace_callback
, nhưng cho việc chuyển đổi trường hợp đơn giản, chúng là quá mức.
Trong PHP, chuỗi truyền thống đã được dựa trên byte, không phải dựa trên ký tự, có nghĩa là mỗi byte là một ký tự. Điều này hoạt động cho mã hóa ký tự đơn byte như ASCII, nơi mỗi ký tự đúng là một byte. Đối với mã hóa đa byte, mb_strtolower
hiểu mã hóa ký tự và xử lý các ký tự như chúng nên được xử lý.
Xem thêm
- Hướng dẫn PHP về
strtolower
: https://www.php.net/manual/en/function.strtolower.php - Hướng dẫn PHP về
mb_strtolower
: https://www.php.net/manual/en/function.mb-strtolower.php - UTF-8 và Unicode cho các nhà phát triển PHP: https://www.php.net/manual/en/book.mbstring.php