Hàm substr()
giúp chúng ta cắt một phần của chuỗi ban đầu trong php.
Cú pháp
substr ( string $string , int $start [, int $length ] )
Input:
$string
là chuỗi ban đầu$start
là vị trí cắt$length
là số ký tự cần cắt
Output: Một phần của chuỗi ban đầu được cắt, nếu thông số cắt không hợp lệ hàm trả về FALSE.
Chú ý:
- Nếu
$start
có giá trị dương thì vị trí bắt đầu được đếm từ đầu đến cuối chuỗi và xuất phát từ 0. Ví dụ với chuỗi “abc” với vị trí 0 là bắt đầu ký tự “a”, vị trí 1 là “b”… - Nếu
$start
có giá trị âm thì đếm ngược từ cuối chuỗi và bắt đầu bằng giá trị 0. Vị trí ký tự cuối cùng của chuỗi là -1 ví thứ 2 từ sau đến là -2… - Nếu
$length
là số dương sẽ lấy tối đa các ký tự kể từ vị trí$start
- Nếu
$length
là số âm sẽ loại bỏ$length
ký tự từ cuối chuỗi. - Nếu
$length
bằng 0 hàm trả về False.
Ví dụ hàm substr()
Ví dụ 1: Tách chuỗi "Unitop"
trong chuỗi "Unitop học web đi làm"
<?php $str = "Unitop Hoc web di lam"; echo substr($str,0,6); ?>
Giải thích: Chuỗi "Unitop"
vị trí đầu tiên nên $start = 0
. Ngoài ra độ dài chuỗi này có 6 ký tự nên $length = 6
.
Kết quả sau khi chạy chương trình
Unitop
Với lấy chuỗi này chúng ta có thể sử dụng những tham số sau vẫn có kết quả tương tự.
<?php $str = "Unitop Hoc web di lam"; echo substr($str, 0, -15);
Giải thích: Lấy từ vị trí đầu tiên và loại bỏ 15 ký tự sau cùng của chuỗi.
Kết quả vẫn trả về chuỗi con
Unitop
Ví dụ 2: Tác thông tin của mã sinh viên.
Giả sử mã sinh viên được tạo ra bởi 2 phần.
- Mã của lớp: ví dụ “TINK32”
- Id của của sinh viên là chuỗi 7 ký tự cuối cùng
Nhiệm vụ cần xác định sinh viên thuộc lớp nào và id bao nhiêu.
<?php $student = "TINK321061016"; $student_class = substr($student ,0,-7); $student_id = substr($student ,-7); echo "Class:{$student_class} <br> Id: {$student_id} "; ?>
Kết quả
Class:TINK32 Id: 1061016
Tổng kết
Qua 2 ví dụ trên bạn đã được hướng dẫn cách để sử dụng hàm substr() tách một phần của chuỗi trong php. Nội dung này cần tư duy khác nhiều nên bạn cần ghi chép và thực hành lại để nắm chắc bài học.