Hướng dẫn php substr

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.

Hàm substr được sử dụng để làm việc với chuỗi ở trong PHP. Một ví dụ đơn giản là khi bạn có tiêu đề hay mô tả quá dài thì lúc này cần dùng tới substr để cắt bớt ký tự đi. Bài viết này sẽ giúp bạn tìm hiểu rõ hơn về cách sử dụng của nó.

Substr() PHP là một hàm dùng để trích xuất một phần chuỗi và phụ thuộc vào tham số truyền vào.

Cú pháp:

substr( $str, $start, $lent);

Giải thích:

  • $str: Đây là chuỗi đầu vào
  • $start: Vị trí bắt đầu cắt chuỗi
  • $lent: Đây là độ dài chuỗi con tính từ $start. Nếu như $start là một số âm (-), thì lúc này vị trí bắt đầu sẽ tính từ cuối chuỗi quay trở lại. Khi độ dài của chuỗi nhỏ hơn giá trị $start, giá trị trả về sẽ là FALSE.

Ví dụ:

<?php 
$str = "Day la chuoi ban dau";
$start = 0;
$lent = 20;
$result = substr( $str, $start, $lent);
echo $result;
?>

Hoặc cũng có thể viết ngắn gọn hơn

$result = substr( 'Day la chuoi van ban', 0, 10);

Kết quả trả về sẽ là:

Day la chu

Trường hợp $start giá trị âm

$start = -10;

Kết quả là:

oi ban dau

Như vậy là qua bài học này bạn đã biết được Hàm substr trong PHP và cách sử dụng như thế nào rồi đấy. Nó sẽ thường sử dụng khi bạn xây dựng một website bằng PHP vì vậy không nên bỏ qua nhé!

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.

1. Chức năng của hàm substr()

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 substr().

Minh họa hàm substr() trong PHP

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 $length0, 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 cấu trúc điều khiển rẽ nhánh if else trong Java
  • Giới thiệu môn học Lập trình Arduino cơ bản
  • Lớp FileInputStream và FileOutputStream trong Java
  • Java collections framework: Queue interface và lớp LinkedList
  • Các loại ngoại lệ (exceptions) trong Java

PHP programming

Điều hướng bài viết