Hàm strrpos() PHP sử dụng như thế nào ?

Hàm strrpos() là một trong những hàm tích hợp sẵn của PHP được sử dụng để tìm vị trí xuất hiện cuối cùng của một chuỗi con bên trong chuỗi khác. Nó là một hàm phân biệt chữ hoa, chữ thường của PHP, có nghĩa là nó xử lý các ký tự chữ hoa và chữ thường khác nhau. Hàm strrpos() tương tự như hàm strripos(), cũng được sử dụng để tìm vị trí xuất hiện cuối cùng của chuỗi con bên trong chuỗi khác, nhưng strripos() là một hàm không phân biệt chữ hoa chữ thường, trong khi strrpos() là một hàm phân biệt chữ hoa chữ thường.

Lập Trình Viên mời bạn cùng tham khảo chi tiết nội dung bên dưới. Bài viết này nằm trong chuyên đề hướng dẫn PHP từ cơ bản đến nâng cao tại dự án Phát Triển Website.

Các phiên bản PHP từ 4+ đều hỗ trợ hàm này. Ngoài ra, có một số hàm liên quan của PHP tương tự như hàm strrpos(): hàm stripos() (tìm vị trí đầu tiên xuất hiện của chuỗi bên trong chuỗi khác – không phân biệt chữ hoa chữ thường), hàm strpos() (tìm vị trí đầu tiên xuất hiện của chuỗi bên trong chuỗi khác – phân biệt chữ hoa chữ thường) và hàm strripos() (tìm vị trí xuất hiện cuối cùng của chuỗi bên trong chuỗi khác – không phân biệt chữ hoa chữ thường).

Hàm strrpos() PHP Là gì

Hàm strrpos() PHP được sử dụng để tìm vị trí xuất hiện cuối cùng của một chuỗi con bên trong chuỗi khác. Nó có ba tham số: chuỗi chính, chuỗi tìm kiếm và vị trí bắt đầu tìm kiếm (tuỳ chọn).

Tham số $string là bắt buộc – đây là chuỗi mà chúng ta tìm kiếm vị trí của chuỗi con. Tham số $search cũng là bắt buộc – nó chỉ định chuỗi cần tìm kiếm. Tham số $start là tùy chọn – đây là tham số cuối cùng của hàm này, xác định từ đâu bắt đầu tìm kiếm. Tham số này có giá trị nguyên.

Hàm strrpos() PHP trả về vị trí xuất hiện cuối cùng của chuỗi con trong chuỗi chính. Nếu chuỗi con không được tìm thấy, hàm sẽ trả về giá trị FALSE. Chú ý rằng vị trí chuỗi bắt đầu từ 0, không phải từ 1.

Hướng dẫn Hàm strrpos() PHP

Dưới đây là cú pháp của hàm strrpos() PHP:

strrpos ( string $string , string $search [, int $start = 0 ] ) : int|false

Hàm strrpos() PHP có ba tham số:

  • Tham số bắt buộc $string – chuỗi chính để tìm kiếm.
  • Tham số bắt buộc $search – chuỗi cần tìm kiếm.
  • Tham số tùy chọn $start – vị trí bắt đầu tìm kiếm. Mặc định là 0.

Cách triển khai hàm strrpos() PHP

Hàm strrpos() PHP được sử dụng để tìm kiếm lần xuất hiện đầu tiên của một ký tự hoặc một chuỗi trong một chuỗi, bắt đầu từ vị trí cuối cùng. Hàm này trả về vị trí của ký tự hoặc chuỗi được tìm thấy, hoặc FALSE nếu không tìm thấy ký tự.

Hàm strrpos() có hai đối số:

  • haystack: Chuỗi cần được tìm kiếm.
  • needle: Ký tự hoặc chuỗi cần được tìm kiếm.

Ví dụ:

$haystack = "Hello World";
$needle = "lo";

// Tìm kiếm lần xuất hiện đầu tiên của chuỗi "lo" trong chuỗi "Hello World", bắt đầu từ vị trí cuối cùng
$result = strrpos($haystack, $needle);

// In ra kết quả
echo $result;

Kết quả của đoạn code trên sẽ là:

6

Điều này có nghĩa là ký tự “l” đầu tiên xuất hiện ở vị trí thứ 6 trong chuỗi “Hello World”.

Hàm strrpos() PHP là một hàm binary-safe, nghĩa là nó có thể tìm kiếm ký tự hoặc chuỗi trong một chuỗi bất kể chúng được lưu trữ theo cách nào.

Dưới đây là một số ví dụ về cách triển khai hàm strrpos():

// Tìm kiếm lần xuất hiện đầu tiên của ký tự "a" trong chuỗi "Hello World", bắt đầu từ vị trí cuối cùng
strrpos("Hello World", "a"); // FALSE

// Tìm kiếm lần xuất hiện đầu tiên của tập hợp ký tự "el" trong chuỗi "Hello World", bắt đầu từ vị trí cuối cùng
strrpos("Hello World", "el"); // 6

// Tìm kiếm lần xuất hiện đầu tiên của ký tự "o" trong chuỗi "Hello World", bắt đầu từ vị trí cuối cùng
strrpos("Hello World", "o"); // 6

Để tìm kiếm lần xuất hiện đầu tiên của một ký tự hoặc một chuỗi trong một chuỗi, bắt đầu từ vị trí cuối cùng, bạn có thể sử dụng hàm strrpos() PHP.

Cách triển khai hàm strrpos() bằng vòng lặp

Hàm strrpos() là một hàm tích hợp sẵn trong PHP, vì vậy chúng ta không cần phải triển khai hàm này. Tuy nhiên, nếu bạn muốn hiểu cách hàm strrpos() hoạt động, bạn có thể triển khai hàm này bằng vòng lặp.

Dưới đây là một cách để triển khai hàm strrpos() PHP bằng vòng lặp:

function strrpos_custom($haystack, $needle) {
  for ($i = strlen($haystack) - 1; $i >= 0; $i--) {
    if ($haystack[$i] == $needle) {
      return $i;
    }
  }
  return FALSE;
}

$haystack = "Hello World";
$needle = "lo";

// Tìm kiếm lần xuất hiện đầu tiên của chuỗi "lo" trong chuỗi "Hello World" bằng vòng lặp
$result = strrpos_custom($haystack, $needle);

// In ra kết quả
echo $result;

Kết quả của đoạn code trên sẽ là:

6

Hàm strrpos_custom() hoạt động bằng cách lặp qua từng ký tự trong chuỗi từ cuối lên đầu và kiểm tra xem ký tự đó có bằng ký tự cần tìm hay không. Nếu ký tự đó bằng ký tự cần tìm, hàm sẽ trả về vị trí của ký tự đó.

So sánh hàm strrpos() và hàm strripos()

Hàm strrpos() PHP và hàm strripos() PHP đều được sử dụng để tìm kiếm lần xuất hiện của một ký tự hoặc một chuỗi trong một chuỗi. Tuy nhiên, hàm strrpos() bắt đầu tìm kiếm từ vị trí cuối cùng của chuỗi, trong khi hàm strripos() bắt đầu tìm kiếm từ vị trí đầu tiên của chuỗi.

Dưới đây là bảng so sánh hai hàm:

Tính năngstrrpos()strripos()
Bắt đầu tìm kiếmVị trí cuối cùngVị trí đầu tiên
Phân biệt chữ hoa chữ thường
Trả về giá trịVị trí của ký tự hoặc chuỗi được tìm thấy hoặc FALSEVị trí của ký tự hoặc chuỗi được tìm thấy hoặc FALSE
Sử dụngKhi cần tìm kiếm lần xuất hiện của một ký tự hoặc một chuỗi, bắt đầu từ vị

Ưu và Nhược điểm Hàm strrpos() PHP

Ưu điểm của hàm strrpos() PHP bao gồm:

  • Dễ sử dụng: Hàm này có cú pháp đơn giản, chỉ cần truyền chuỗi chính và chuỗi con cần tìm kiếm.
  • Tốc độ nhanh: Hàm này thực hiện rất nhanh, cho phép tìm kiếm vị trí xuất hiện cuối cùng của chuỗi con trong chuỗi chính một cách nhanh chóng và hiệu quả.

Nhược điểm của hàm strrpos() PHP bao gồm:

  • Chỉ tìm được vị trí xuất hiện cuối cùng của chuỗi con: Hàm này chỉ tìm vị trí xuất hiện cuối cùng của chuỗi con trong chuỗi chính, không thể tìm các vị trí xuất hiện khác.
  • Phân biệt chữ hoa, chữ thường: Hàm này phân biệt chữ hoa, chữ thường, do đó có thể không tìm thấy chuỗi con trong chuỗi chính nếu không khớp chính xác.

Lời khuyên Hàm strrpos() PHP

Dưới đây là một số lời khuyên khi sử dụng hàm strrpos() PHP:

  • Sử dụng hàm này khi bạn chỉ quan tâm đến vị trí xuất hiện cuối cùng của chuỗi con bên trong chuỗi chính.
  • Đảm bảo rằng bạn sử dụng các tham số đúng cách để tránh lỗi vị trí trả về không chính xác hoặc giá trị sai.

Kết luận

Hàm strrpos() PHP là một công cụ hữu ích để tìm vị trí xuất hiện cuối cùng của chuỗi con bên trong chuỗichính. Dù cho nó có một số hạn chế, nhưng nó vẫn là một phương tiện đáng tin cậy để giải quyết các vấn đề thường gặp liên quan đến xử lý chuỗi trong PHP.

Nếu sử dụng đúng cách, hàm strrpos() sẽ mang lại hiệu quả cao và giúp giải quyết các vấn đề liên quan đến tìm kiếm vị trí xuất hiện cuối cùng của chuỗi con trong PHP. 

Tại sao hàm strrpos() lại phân biệt chữ hoa, chữ thường?

Hàm strrpos() phân biệt chữ hoa, chữ thường để khớp chính xác chuỗi con cần tìm kiếm. Nếu không phân biệt được chữ hoa, chữ thường, kết quả có thể không chính xác.

Hàm strrpos() trả về giá trị gì nếu không tìm thấy chuỗi cần tìm kiếm?

Hàm strrpos() trả về giá trị FALSE nếu không tìm thấy chuỗi cần tìm kiếm trong chuỗi chính.

Làm thế nào để tìm vị trí xuất hiện đầu tiên của chuỗi con trong chuỗi chính?

Bạn có thể sử dụng hàm strpos() để tìm vị trí xuất hiện đầu tiên của chuỗi con trong chuỗi chính.

Làm thế nào để tìm vị trí xuất hiện cuối cùng của chuỗi con mà không phân biệt chữ hoa, chữ thường?

Bạn có thể sử dụng hàm strripos() để tìm vị trí xuất hiện cuối cùng của chuỗi con mà không phân biệt chữ hoa, chữ thường.

Hàm strrpos() có được hỗ trợ từ các phiên bản PHP nào?

Hàm strrpos() đã được hỗ trợ từ phiên bản PHP 4+.