Trong bài viết này, chúng tôi xem xét các cách nhanh chóng và dễ dàng để lấy ký tự cuối cùng của chuỗi trong PHP. Đối với tất cả các ví dụ trong bài viết này, giả sử chúng ta có các chuỗi sau
$string = 'foo'; $multibyte = 'foo♥';Sử dụng độ lệch chuỗi âm
// PHP 7.1+ $string[-1]; // outputs: 'o' $multibyte[-1]; // outputs: '�'Sử dụng phương pháp này không an toàn cho nhiều byte. Nó chỉ hoạt động với các chuỗi ở dạng mã hóa một byte (ví dụ: ISO-8859-1)
Sử dụng phương pháp này sẽ kích hoạt một E_NOTICE cho các phiên bản PHP dưới 7. 1 để đọc và một E_WARNING để viết
Sử dụng substr()
substr($string, -1); // outputs: 'o' substr($multibyte, -1); // outputs: '�' mb_substr($multibyte, -1); // outputs: '♥'Khi bạn đang sử dụng mã hóa ký tự nhiều byte (đối với e. g. UTF-8), bạn có thể phải sử dụng biến thể nhiều byte của hàm (i. e. mb_substr()). Tuy nhiên, điều đó chỉ có thể cần thiết nếu một ký tự trong chuỗi được biểu thị bằng hai hoặc nhiều byte liên tiếp. Lý do đằng sau điều này là do hàm substr() thông thường không nhận biết nhiều byte và sẽ không phát hiện được phần đầu hoặc phần cuối của ký tự nhiều byte, điều này sẽ dẫn đến kết quả không chính xác/bị hỏng
Sử dụng truy cập chuỗi trực tiếp
$string[strlen($string)-1]; // outputs: 'o' $multibyte[strlen($multibyte)-1]; // outputs: '�'Sử dụng phương pháp này không an toàn cho nhiều byte. Nó chỉ hoạt động với các chuỗi ở dạng mã hóa một byte (ví dụ: ISO-8859-1)
Hy vọng bạn tìm thấy bài viết này hữu ích. Nó được xuất bản vào ngày 25 tháng 4 năm 2020 (và được sửa đổi lần cuối vào ngày 04 tháng 6 năm 2020). Hãy thể hiện tình yêu và sự ủng hộ của bạn bằng cách
Trong đoạn mã này, chúng tôi sẽ chỉ cho bạn một số hàm PHP cho phép xóa ký tự cuối cùng khỏi một chuỗi cụ thể
Tùy chọn đầu tiên là sử dụng hàm substr. Cú pháp của hàm này như sau
Một ví dụ đơn giản về hàm substr được minh họa bên dưới
Đầu ra sẽ như sau
Given string: Hello World! Updated string: Hello World
Tùy chọn thứ hai là sử dụng hàm substr_replace. Cú pháp cơ bản của nó là
Và đây là một ví dụ về việc sử dụng hàm substr_replace
Và, đây là đầu ra
Given string: Hello World! Updated string: Hello World
Chức năng này cũng cho phép loại bỏ ký tự cuối cùng của một chuỗi
Đây là cú pháp cơ bản
Trong cú pháp này, bạn có thể nhận thấy ký tự “a”, ký tự này sẽ bị xóa
Vì vậy, một ví dụ về việc xóa ký tự sẽ như sau
Và, đầu ra là như sau
Given string: Hello World! Updated string: Hello World
Vì vậy, trong đoạn mã này, chúng ta đã thảo luận về ba cách xóa ký tự cuối cùng khỏi chuỗi trong PHP. Đây là những hành động đơn giản sẽ giúp bạn giải quyết một trong những vấn đề phổ biến trong PHP
❮ Tham chiếu chuỗi PHP
Thí dụ
Trả về "thế giới" từ chuỗi
echo substr("Chào thế giới",6);
?>
Định nghĩa và cách sử dụng
Hàm substr() trả về một phần của chuỗi
cú pháp
chất nền (chuỗi, bắt đầu, độ dài)
Giá trị tham số
Tham sốChuỗi mô tảBắt buộc. Chỉ định chuỗi trả về một phần củastartRequired. Chỉ định nơi bắt đầu trong chuỗi- Một số dương - Bắt đầu tại một vị trí xác định trong chuỗi
- Số âm - Bắt đầu tại một vị trí đã chỉ định từ cuối chuỗi
- 0 - Bắt đầu từ ký tự đầu tiên trong chuỗi
- Một số dương - Độ dài được trả về từ tham số bắt đầu
- Số âm - Độ dài được trả về từ cuối chuỗi
- Nếu tham số độ dài là 0, NULL hoặc FALSE - nó trả về một chuỗi rỗng
chi tiết kỹ thuật
Giá trị trả về. Trả về phần được trích xuất của chuỗi hoặc FALSE nếu lỗi hoặc chuỗi trống Phiên bản PHP. 4+Nhật ký thay đổi. PHP7. 0 - Nếu string = start (dài ký tự), nó sẽ trả về một chuỗi rỗng. Các phiên bản trước đó trả về FALSEPHP5. 2. 2 - 5. 2. 6 - Nếu bắt đầu có vị trí cắt ngắn âm, FALSE được trả về. Các phiên bản khác lấy chuỗi từ đầu
Thêm ví dụ
Thí dụ
Sử dụng tham số bắt đầu với các số dương và số âm khác nhau
echo substr("Chào thế giới",10). "
“;
echo substr("Chào thế giới",1). "
“;
echo substr("Chào thế giới",3). "
“;
echo substr("Chào thế giới",7). "
“;
echo substr("Chào thế giới",-1). "
“;
echo substr("Chào thế giới",-10). "
“;
echo substr("Chào thế giới",-8). "
“;
echo substr("Chào thế giới",-4). "
“;
?>
Thí dụ
Sử dụng các tham số bắt đầu và độ dài với các số dương và số âm khác nhau
echo substr("Chào thế giới",0,10). "
“;
echo substr("Chào thế giới",1,8). "
“;
echo substr("Chào thế giới",0,5). "
“;
echo substr("Chào thế giới",6,6). "
“;
echo substr("Chào thế giới",0,-1). "
“;
echo substr("Xin chào thế giới",-10,-2). "
“;
echo substr("Chào thế giới",0,-6). "
“;
?>