Hàm substr trong php dùng để cắt lấy một phần(trích xuất) chuỗi con từ chuỗi cha ban đầu. Đây là một trong những hàm rất hữu dụng được xử dụng nhiều trong xử lý chuỗi php. Vậy bài viết này chúng ta sẽ tìm hiểu về hàm này, cũng như các ví dụ mình họa sử dụng để hiểu rõ và áp dụng được hàm này nhé.
Hàm substr trong php Cú pháp cơ bản
Hàm substr() trong php có cú pháp cơ bản như sau:
substr(string $chuoi, int $bat_dau [, int $do_dai])
Trong đó:
$chuoi
: Là chuỗi nguồn bạn cần cắt(trích xuất) chuỗi con từ chuỗi này.$bat_dau
: Là vị trí bắt đầu trích xuất chuỗi con. Vị trí này có thể là dấu âm lúc này vị trí sẽ được tính từ cuối chuỗi(Lấy chuỗi con ngược từ cuối chuỗi).$do_dai
(Có thể có hoặc không): Là độ dài của chuỗi con cần trích xuất tính từ vị trí$bat_dau
. Nếu không truyền tham số, nó sẽ trích xuất từ vị trí$bat_dau
đến hết chuỗi. Tham số này cũng có thể là dấu âm lúc này trích xuất sẽ bỏ qua$do_dai
ký tự tính từ cuối chuỗi.
Lưu ý: Trong Tiếng Việt(UTF-8) thì các Dấu thanh hay Dấu móc cũng được coi là một ký tự nhé. ví dụ “ừ” được tính là 3 ký từ là ký tự u, dấu huyền, và dấu móc.
>>XEM THÊM: Toán tử 3 ngôi trong lập trình PHP – Toán tử điều kiện PHP
Ví dụ áp dụng hàm substr trong php
Hãy thực hiện một số ví dụ dưới đây để hiểu rõ hàm substr() trong php hoạt động như thế nào.
Ví dụ 1: Ví dụ ta cần cắt bỏ x ký tự của đầu chuỗi, cụ thể ví dụ này là cắt bỏ 16 ký tự đầu chuỗi hay tức là ta lấy chuỗi từ vị trí 17 đến hết chuỗi.
<?php
$chuoi = "Tuicocach.com - Blog tu hoc lap trinh, thu thuat internet, huong dan MMO";
$bat_dau = 16;
$chuoi_con = substr($chuoi, $bat_dau);
echo $chuoi_con;
Kết quả thực hiện
Blog tu hoc lap trinh, thu thuat internet, huong dan MMO
Ví dụ 2: Cũng tương tự như ví dụ trên, nhưng lúc này là ta lấy chuỗi con là một khoảng nằm bên trong chuỗi cha. Cụ thể ví dụ lần này là ta cần lấy chuỗi con “Blog tu hoc lap trinh“.
<?php
$chuoi = "Tuicocach.com - Blog tu hoc lap trinh, thu thuat internet, huong dan MMO";
$bat_dau = 16;
$do_dai = 21;
$chuoi_con = substr($chuoi, $bat_dau, $do_dai);
echo $chuoi_con;
Kết quả thực hiện
Blog tu hoc lap trinh
Ví dụ 3: Tương tự ví dụ 2 nhưng lúc này chuỗi là một đoạn đầy đủ Tiếng việt(UTF-8).
<?php
$chuoi = "Tuicocach.com - Blog tự học lập trình, thử thuật internet, huớng dẫn MMO";
$bat_dau = 16;
$do_dai = 28;
$chuoi_con = substr($chuoi, $bat_dau, $do_dai);
echo $chuoi_con;
Kết quả thực hiện
Blog tự học lập trình
Tại ví dụ 2 để lấy được chuỗi “Blog tu hoc lap trinh” ta chỉ tính độ dài là 21 ký tự, tuy nhiên với ví dụ 3 đoạn chuỗi là Tiếng Việt thì ta cần trích độ dài là 28 ký tự.(Xem lại lưu ý phía bên trên).
Ví du 4: Chỉ lấy x ký tự đầu chuỗi.
<?php
$chuoi = "Tuicocach.com - Blog tu hoc lap trinh, thu thuat internet, huong dan MMO";
$bat_dau = 0;
$do_dai = 15;
$chuoi_con = substr($chuoi, $bat_dau, $do_dai);
echo $chuoi_con;
Kết quả thực hiện
Tuicocach.com -
>>XEM THÊM: Hàm sort() trong php – Hàm sort() sắp xếp mảng tăng dần
Ví dụ 5: Lấy chuỗi con ngược từ cuối chuỗi. Lúc này ta sẽ để tham số $bat_dau là dấu âm, dấu âm vị trí sẽ được tính từ cuối chuỗi.
<?php
$chuoi = "Tuicocach.com - Blog tu hoc lap trinh, thu thuat internet, huong dan MMO";
$bat_dau = -14;
$chuoi_con = substr($chuoi, $bat_dau);
echo $chuoi_con;
Kết quả thực hiện
huong dan MMO
Ví dụ 6: Cắt chuỗi con bỏ qua x ký tự ở cuối chuỗi. Tham số $do_dai là dấu âm thì sẽ bỏ qua $do_dai ký tự tính từ cuối chuỗi.
<?php
$chuoi = "Tuicocach.com - Blog tu hoc lap trinh, thu thuat internet, huong dan MMO";
$bat_dau = 0;
$do_dai = -15;
$chuoi_con = substr($chuoi, $bat_dau, $do_dai);
echo $chuoi_con;
Kết quả thực hiện
Tuicocach.com - Blog tu hoc lap trinh, thu thuat internet
Cảm ơn bạn đã đọc hết bài viết! Hy vọng qua bài viết này cùng các ví dụ đơn giản bên trên bạn đã có thể hiểu rõ cách hàm substr() hoạt động và biết cách áp dụng. Nếu còn bất cứ thắc mắc hay góp ý nào, hãy để lại bình luận bên dưới bài viết nhé.
[XEM TẤT CẢ BÀI VIẾT CHUYÊN MỤC HƯỚNG DẪN PHP TẠI ĐÂY]
XEM THÊM Hàm strlen() trong php – Hàm đếm độ dài của chuỗi trong php Hàm trim() trong PHP – Chuẩn hóa chuỗi bằng hàm trim() Tách Chuỗi thành các thành phần trong PHP bằng hàm str_split