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.
Chuỗi là một kiểu dữ liệu quan trọng và thường được sử dụng. Trong bài học này, mình sẽ hướng dẫn các bạn một số hàm xử lý chuỗi String trong PHP.
- Video Xử lý chuỗi String trong PHP – String functions
- Hướng dẫn chi tiết
- echo
- printf
- print_r
- explode
- implode
- str_split
- str_replace
- str_repeat
- substr
- strstr – stristr
- strpos
- strtolower
- strtoupper
- ucfirst
- strlen
- nl2br
- trim
- md5
- htmlentities
- html_entity_decode
- htmlspecialchars
- htmlspecialchars_decode
- json_encode
- json_decode
Video Xử lý chuỗi String trong PHP – String functions
Hướng dẫn chi tiết
"Người ta tắt AdsBlock không phải vì người ta dại, mà người ta quý mình nên coi quảng cáo" Hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn
echo
echo [$string]
In ra màn hình và không trả về giá trị gì
echo 'Hello'; echo['Hello'];
printf
printf [ string $format [, mixed $… ] ] : int
In ra theo định dạng
"Thăm ngàn, kẹp ngần nhưng vẫn không đủ chai ni [trả nợ]" nên dành vài dòng cho QUẢNG CÁO Các bạn cần hosting PHP - WordPress nhanh, rẻ và dễ sử dụng có thể chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký hosting từ link quảng cáo, mình sẽ có một ít tiền để duy trì và "chai ni".
$str = 'Hiiiii'; printf["Đây là %s",$str];
print_r
print_r[$variable]
In ra màn hình thông tin của một biến [mảng, đối tượng, chuỗi …]
$arr =array[ 'key' => 'value', 'key1' => 2 ]; print_r[$arr];
explode
Phân tách chuỗi đầu vào dựa vào ký tự phân cách, trả về 1 mảng.
$str = 'string 1,string2,string3'; // explode[phân tách, chuỗi đầu vào, số phần tử muốn lấy ra] $kq = explode[',',$str,3]; var_dump[$kq];
implode
Ghép các phần tử của mảng thành 1 chuỗi.
$kq = array['string 1','string 2','string 3']; $str = implode[',',$kq]; echo $str;
str_split
Cắt chuỗi và chuyển thành mảng ký tự.
$str = '123456'; $kq = str_split[$str]; print_r[$kq];
str_replace
Thay thế ký tự hoặc một đoạn chuỗi bằng một ký tự hoặc một đoạn chuỗi khác.
$str = 'cầu thơm dừa đủ xoài'; $str = str_replace['thơm','chôm chôm',$str];
Có thể thay thế hàng loạt bằng cách sử dụng mảng.
$str = 'Mâm ngũ quả cầu thơm dừa đủ xoài'; $replace = array['dư','chôm chôm','táo','lê']; $find = array['cầu', 'thơm', 'dừa', 'đủ', 'xoài']; $str = str_replace[$find, $replace, $str]; echo $str;
str_repeat
Lặp một ký tự hoặc một chuỗi theo số lần mong muốn.
$str = 'hello'; $str = str_repeat[$str,5]; echo $str;
substr
substr[$chuoi_ban_dau,
Lấy ra một đoạn chuỗi từ chuỗi ba đầu.
$str = 'I love you'; $str = substr[$str, 1, ]; echo $str;
strstr – stristr
strstr[$chuoi_ban_dau, $chuoi_can_tim]
Trả về đoạn chuỗi bắt đầu từ đoạn chuỗi cần tìm. Lưu ý, hàm strstr có phân biệt chữ viết hoa – thường.
Trong trường hợp tìm chữ ‘love’, kết quả trả về sẽ là love you. Trong trường hợp tìm chữ ‘Love’, kết quả trả về là chuỗi rỗng. Để sử dụng trường hợp không phân biệt hoa – thường, các bạn dùng hàm stristr[].
$str = 'I love you'; $str = strstr[$str, 'love']; // $str = strstr[$str, 'Love']; echo $str;
strpos
strpos[$chuoi_ban_dau, $chuoi_ky_tu_can_tim, $vi_tri_xuat_phat]
Tìm vị trí của ký tự hoặc chuỗi trong đoạn chuỗi ban đầu. Đối số vị trí xuất phát [offset] có thể có hoặc không nhé.
$str = 'I love you so much'; // chuỗi , phần tử, vị trí bắt đầu tìm kiếm $pos = strpos[$str, 'so']; echo $pos;
strtolower
Viết thường tất cả ký tự trong chuỗi.
$str = 'NOOOO'; $str = strtolower[$str]; echo $str;
strtoupper
Viết hoa tất cả ký tự trong chuỗi.
$str = 'noooo'; $str = strtoupper[$str]; echo $str;
ucfirst
Viết hoa chữ cái đầu của chuỗi.
$str = 'no name. i think so'; $str = ucfirst[$str]; echo $str;
strlen
Trả về độ dài chuỗi.
$str = 'No name here'; $len = strlen[$str]; echo $len;
nl2br
Thêm xuống dòng cho đoạn chuỗi khi in ra màn hình. Bạn xem thử ví dụ 2 trường hợp không dùng hàm nl2br và có hàm nl2br.
$str = 'No name. I think so'; echo $str; $str = nl2br[$str]; echo $str;
trim
Loại bỏ khoảng trắng hai đầu chuỗi. Trường hợp ví dụ bên dưới, khi chúng ta lấy độ dài chuỗi, giá trị $len sẽ có sự khác biệt khi có hàm trim và không có hàm trim.
$str = ' ABC '; $len = strlen[$str]; echo $len; $str = trim[$str]; $len = strlen[$str]; echo $len;
md5
Băm một chuỗi, một giá trị thành 1 đoạn mã hóa theo thuật toán md5.
$str = '123456789'; $md = md5[$str]; echo $md;
htmlentities
Chuyển đổi các ký tự thành thực thể html. Bạn chạy thử ví dụ bên dưới, nếu không có hàm htmlentities, các đoạn mã html sẽ được áp dụng.
$str = 'NO NAME'; $str = htmlentities[$str]; echo $str;
Sau khi in ra màn hình, các bạn bấm view source [Ctrl + U] thì sẽ thấy đoạn mã như thế này.
html_entity_decode
Có tác dụng ngược lại với hàm htmlentities.
htmlspecialchars
Hàm htmlspecialchars có tác dụng tương tự với hàm htmlentities.
$str = 'NO NAME'; $str = htmlspecialchars[$str]; echo $str;
htmlspecialchars_decode
Có tác dụng ngược lại với hàm htmlspecialchars .
json_encode
Trả về một định dạng JSON từ một giá trị ban đầu truyền vào.
$arr = array[ 'key' => 'value1', 'key' => 'value1' ]; $json = json_encode[$arr]; echo[$json]; $json = json_encode[ new class['Red', 4]{ public $color; public $num; public function __construct[$color, $num]{ $this->color = $color; $this->num = $num; } }]; echo[$json];
json_decode
Giải mã một JSOn thành một giá trị có thể sử dụng trong PHP
$temp = json_decode[$json]; var_dump[$temp];
Code mẫu: Download
Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.
Liên hệ