Hàm substr[]
sẽ trích xuất một phần của chuỗi, phần chuỗi được trích xuất sẽ tùy thuộc vào tham số truyền vào.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Cú pháp
Cú pháp: substr[ $str, $start, $lent];
Trong đó:
$str
là chuỗi ban đầu.$start
là vị trí bắt đầu cắt trong chuỗi$str
.$lent
là độ dài chuỗi con tính từ vị trí$start
, nếu$lent
âm hàmsubstr[]
sẽ trích xuất từ$start
đến vị trí$lent
[ tính từ cuối chuỗi]. Nếu vị trí$lent
xuất hiện trước$start
trong chuỗi$str
hàm sẽ trả về FALSE.
Ví dụ
Một số trường hợp sử dụng hàm substr[]
:
Bài viết này được đăng tại [free tuts .net]
Code
echo $rest = substr["abcdef", 0, 3] . "
"; echo $rest = substr["abcdef", 0, -1] . "
"; echo $rest = substr["abcdef", 2, -1] . "
"; if [substr["abcdef", 4, -4] == false] { echo 'false' . "
"; } echo $rest = substr["abcdef", -3, -1] . "
";
Kết quả
abc abcde cde false de
Tham khảo: php.net
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"
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ự.
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.
Hàm substr[] trong PHP có chức năng lấy ra một chuỗi con trong chuỗi cha ban đầu. Chuỗi con được lấy ra phụ thuộc vào đối số truyền vào hàm 1. Chức năng của hàm substr[]
substr[]
.
2. Cú pháp của hàm substr[]
substr[string $string, int $offset, int $length = null]: string
Trong đó:
–
$string
là chuỗi cha ban đầu muốn lấy chuỗi con ra. Tham số này phải có kiểu là string.
– $offset
là vị trí bắt đầu lấy chuỗi con trong chuỗi cha.
Nếu offset là số không âm [>=0] thì chuỗi con trả về sẽ bắt đầu ở vị trí của offset. Vị trí các ký tự trong chuỗi bắt đầu từ 0. Ví dụ, chuỗi “abcdef” thì ‘a’ có vị trí là 0, ‘b’ là 1, ‘c’ là 2,…
Nếu offset là số âm thì chuỗi con trả về sẽ bắt đầu ở vị trí của offset nhưng được đánh vị trí từ cuối chuỗi. Ví dụ, chuỗi “abcdef” thì ‘f’ có vị trí -1, ‘e’ là -2, ‘d’ là -3,…
$rest = substr["abcdef", -1];//"f"
$rest = substr["abcdef", -2];//"ef"
$rest = substr["abcdef", -3, 1];//"d"
Nếu offset là số lớn hơn hoặc bằng độ dài của chuỗi thì chuỗi rỗng [empty] sẽ được trả về.
– $length
là độ dài chuỗi con muốn lấy ra. $length là tham số tùy chọn, có thể có hoặc không.
Nếu $length không có thì chuỗi con trả về sẽ bắt đầu từ vị trí của offset đến cuối chuỗi cha ban đầu.
Nếu $length có thì:
- Nếu $length là 0, false hoặc null thì chuỗi rỗng sẽ được trả về.
- Nếu $length là số dương thì chuỗi con trả về sẽ chứa tối đa $length ký tự bắt đầu từ vị trí offset.
- Nếu $length là số âm thì chuỗi con trả về bắt đầu từ vị trí offset đến cuối chuỗi cha ban đầu nhưng bỏ đi $length ký tự từ cuối chuỗi.
$rest = substr["abcdef", 0, -1]; //"abcde"
$rest = substr["abcdef", 2, -1]; //"cde"
$rest = substr["abcdef", 4, -4]; //""
$rest = substr["abcdef", -3, -1]; //"de"
– Kết quả trả về có thể là một chuỗi con hoặc chuỗi rỗng [empty].
3. Một số ví dụ sử dụng hàm substr[]
echo substr['abcdef', 1]; //bcdef
echo substr['abcdef', 1, 3]; //bcd
echo substr['abcdef', 0, 4];//abcd
echo substr['abcdef', 0, 8];//abcdef
echo substr['abcdef', -1, 1];//f
Lưu ý: Hàm substr[]
không làm thay đổi chuỗi cha ban đầu.
- Các kỹ thuật lập trình với mảng một chiều và minh họa với C++
- Các cấu trúc điều khiển rẽ nhánh if else trong Java
- Giới thiệu môn học Phương pháp lập trình hướng đối tượng
- Tạo [create] và ghi [write] file trong PHP
- Hàm thuần ảo [pure virtual function] và lớp trừu tượng [abstract class] trong C++
PHP programming