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

Hàm strripos() PHP là một hàm chuỗi đã được xác định trước trong PHP. Nó được sử dụng để tìm vị trí xuất hiện cuối cùng của một chuỗi trong một chuỗi khác.

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.

Tổng quan Hàm strripos() PHP

Hàm strripos() là một hàm chuỗi tiên tiến trong PHP, nó cho phép chúng ta tìm kiếm vị trí xuất hiện cuối cùng của một chuỗi trong một chuỗi khác. Điều này rất hữu ích khi chúng ta muốn tìm kiếm một chuỗi nhỏ trong một chuỗi lớn và chỉ quan tâm đến vị trí xuất hiện cuối cùng.

Chúng ta sẽ tìm hiểu về cú pháp, ví dụ và các lưu ý cần biết về hàm strripos() PHP trong bài viết này.

Hàm strripos() PHP Là gì

Hàm strripos() PHP có chức năng tìm kiếm vị trí xuất hiện cuối cùng của một chuỗi con trong một chuỗi cha. Nó cũng cho phép ta tìm kiếm một chuỗi con từ vị trí bất kỳ trong chuỗi cha.

Cú pháp:

strripos(string $haystack , string $needle , int $offset = 0): int | false

Tham số

  • string $haystack: Chuỗi cha mà ta muốn tìm kiếm.
  • string $needle: Chuỗi con mà ta muốn tìm kiếm vị trí xuất hiện cuối cùng của nó trong chuỗi cha.
  • int $offset (optional): Vị trí bắt đầu tìm kiếm chuỗi con. Nếu không chỉ định, hàm sẽ tìm kiếm toàn bộ chuỗi.

Giá trị trả về

Hàm strripos() PHP trả về vị trí xuất hiện cuối cùng của chuỗi con trong chuỗi cha. Nếu chuỗi con không được tìm thấy trong chuỗi cha, hàm sẽ trả về giá trị false.

Lưu ý

Hàm strripos() PHP là không phân biệt chữ hoa chữ thường. Điều này có nghĩa là các ký tự in hoa và in thường trong chuỗi con và chuỗi cha được coi là tương đồng.

Ví dụ 1

Ví dụ dưới đây sử dụng hàm strripos() PHP để tìm vị trí xuất hiện cuối cùng của chuỗi con “world” trong chuỗi cha “Hello World”.

<?php
$haystack = "Hello World";
$needle = "world";

$position = strripos($haystack, $needle);

if ($position === false) {
    echo "Không tìm thấy chuỗi con trong chuỗi cha";
} else {
    echo "Vị trí xuất hiện cuối cùng của chuỗi con là: " . $position;
}
?>

Kết quả sẽ là:

Vị trí xuất hiện cuối cùng của chuỗi con là: 6

Ví dụ 2

Ví dụ dưới đây sử dụng hàm strripos() PHP để tìm vị trí xuất hiện cuối cùng của chuỗi con “ab” trong chuỗi cha “ababcd”.

<?php
$haystack = "ababcd";
$needle = "aB";

$position = strripos($haystack, $needle);

if ($position === false) {
    echo "Không tìm thấy chuỗi con trong chuỗi cha";
} else {
    echo "Chúc mừng! Chúng tôi đã tìm thấy chuỗi con cuối cùng là \"$needle\" trong chuỗi \"$haystack\" ở vị trí $position";
}
?>

Kết quả sẽ là:

Chúc mừng! Chúng tôi đã tìm thấy chuỗi con cuối cùng là "aB" trong chuỗi "ababcd" ở vị trí 2

Thông tin thêm

Ngoài hàm strripos(), PHP còn có các hàm chuỗi khác để tìm kiếm và xử lý chuỗi như:

  • stripos(): Tìm kiếm vị trí xuất hiện đầu tiên của một chuỗi con trong một chuỗi cha.
  • strpos(): Tìm kiếm vị trí xuất hiện đầu tiên của một chuỗi con trong một chuỗi cha.
  • strrchr(): Tìm kiếm vị trí xuất hiện cuối cùng của một ký tự trong một chuỗi.
  • strrev(): Đảo ngược một chuỗi.

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

Trong phần này, chúng tôi sẽ hướng dẫn bạn cách sử dụng hàm strripos() PHP.

Cách sử dụng hàm strripos()

Đầu tiên, chúng ta sẽ tạo một chuỗi cha và một chuỗi con:

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

Sau đó, chúng ta sử dụng hàm strripos() PHP để tìm vị trí xuất hiện cuối cùng của chuỗi con trong chuỗi cha:

$position = strripos($haystack, $needle);

Cuối cùng, chúng ta kiểm tra xem có tìm thấy chuỗi con trong chuỗi cha hay không và in ra kết quả:

if ($position === false) {
    echo "Không tìm thấy chuỗi con trong chuỗi cha";
} else {
    echo "Vị trí xuất hiện cuối cùng của chuỗi con là: " . $position;
}

Cú pháp hàm strripos()

Cú pháp của hàm strripos() như sau:

strripos(string $haystack , string $needle , int $offset = 0): int | false

Nó có ba tham số: chuỗi cha, chuỗi con và vị trí bắt đầu tìm kiếm. Hàm này trả về một số nguyên thể hiện vị trí của chuỗi con nếu tìm thấy. Nếu không tìm thấy, hàm sẽ trả về giá trị false.

Cách triển khai Hàm strripos() PHP

Hàm strripos() PHP được sử dụng để tìm kiếm lần xuất hiện cuối cùng của một ký tự hoặc một chuỗi trong một chuỗi. 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 strripos() 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 cuối cùng của chuỗi "lo" trong chuỗi "Hello World"
$result = strripos($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” cuối cùng xuất hiện ở vị trí thứ 6 trong chuỗi “Hello World”.

Hàm strripos() 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 strripos():

// Tìm kiếm lần xuất hiện cuối cùng của ký tự "a" trong chuỗi "Hello World"
strripos("Hello World", "a"); // FALSE

// Tìm kiếm lần xuất hiện cuối cùng của tập hợp ký tự "el" trong chuỗi "Hello World"
strripos("Hello World", "el"); // 6

// Tìm kiếm lần xuất hiện cuối cùng của ký tự "o" trong chuỗi "Hello World"
strripos("Hello World", "o"); // 6

Để tìm kiếm lần xuất hiện cuối cùng của một ký tự hoặc một chuỗi trong một chuỗi, bạn có thể sử dụng hàm strripos() PHP.

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

Hàm strripos() PHP 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 strripos() 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 strripos() PHP bằng vòng lặp:

function strripos_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 cuối cùng của chuỗi "lo" trong chuỗi "Hello World" bằng vòng lặp
$result = strripos_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 strripos_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ự đó.

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

Hàm strripos() PHP có nhiều ưu điểm để sử dụng như:

  • Cho phép tìm kiếm vị trí xuất hiện cuối cùng của một chuỗi con trong chuỗi cha.
  • Có tính linh hoạt cao với khả năng chỉ định vị trí bắt đầu tìm kiếm.

Tuy nhiên, hàm strripos() cũng có nhược điểm như:

  • Không trả về vị trí của tất cả các chuỗi con trong chuỗi cha, chỉ trả về vị trí cuối cùng.
  • Không hỗ trợ tìm kiếm bằng biểu thức chính quy.

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

Khi sử dụng hàm strripos() PHP, bạn nên lưu ý những điểm sau để có thể sử dụng hiệu quả:

  • Chuỗi cha và chuỗi con trong hàm strripos() không phân biệt chữ hoa chữ thường.
  • Nếu chuỗi con không được tìm thấy trong chuỗi cha, hàm sẽ trả về giá trị false.
  • Vị trí trong chuỗi bắt đầu từ 0 chứ không phải là 1.
  • Hàm strripos() có thể được sử dụng để tìm kiếm một chuỗi trong một tệp tin.

Kết luận

Trong bài viết này, chúng tôi đã giới thiệu về hàm strripos() PHP, cú pháp, ví dụ và các lưu ý cần biết khi sử dụng hàm này. Nếu bạn muốn tìm kiếm vị trí xuất hiện cuối cùng của một chuỗi con trong chuỗi cha, hãy sử dụng hàm strripos() để giải quyết vấn đề này.Hy vọng rằng bài viết đã giúp bạn hiểu rõ hơn về hàm strripos() PHP và các lưu ý quan trọng khi sử dụng hàm này. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến ​​nào, xin vui lòng để lại bình luận bên dưới và chúng tôi sẽ cố gắng trả lời cho bạn trong thời gian ngắn nhất.

1. Strripos() là gì trong PHP?

Strripos() là một hàm chuỗi đã được xác định trước trong PHP, cho phép tìm vị trí xuất hiện cuối cùng của một chuỗi con trong chuỗi cha.

2. Strripos() có phân biệt chữ hoa chữ thường không?

Không, hàm strripos() không phân biệt chữ hoa chữ thường trong chuỗi con và chuỗi cha.

3. Strripos() trả về gì nếu không tìm thấy chuỗi con trong chuỗi cha?

Nếu chuỗi con không được tìm thấy trong chuỗi cha, hàm strripos() sẽ trả về giá trị false.

4. Cú pháp của hàm strripos() PHP như thế nào?

Cú pháp của hàm strripos() là:
strripos(string $haystack , string $needle , int $offset = 0): int | false

5. Hàm strripos() PHP có hỗ trợ tìm kiếm bằng biểu thức chính quy không?

Không, hàm strripos() không hỗ trợ tìm kiếm bằng biểu thức chính quy.