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

Hàm str_contains() là một hàm tích hợp sẵn trong PHP và được sử dụng để xác định xem một chuỗi cha có chứa một chuỗi con cụ thể hay không. Nó được sử dụng rộng rãi trong lập trình web và cung cấp các tính năng tuyệt vời cho các nhà phát triển. Trong bài viết này, chúng ta sẽ tìm hiểu về hàm str_contains() PHP chi tiết:

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ính năng Hàm str_contains() PHP

Hàm str_contains() được sử dụng để kiểm tra xem chuỗi cha có chứa chuỗi con cụ thể hay không. Nó chỉ trả về true hoặc false tùy thuộc vào điều kiện kiểm tra. Hàm str_contains() là một hàm case-sensitive, điều này có nghĩa là nó không tìm kiếm các từ giống nhau nếu chúng có chữ hoa hoặc camel.

Tổng quan Hàm str_contains() PHP

Cú pháp hàm str_contains() PHP như sau:

str_contains(string $haystack, string $needle): bool

Hàm có hai tham số đầu vào yêu cầu, haystack và needle, và trả về giá trị boolean. Nếu chuỗi con (needle) được xác định được tìm thấy trong chuỗi cha (haystack), hàm sẽ trả về giá trị true. Nếu không tìm thấy chuỗi con, hàm sẽ trả về giá trị false.

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

Cách sử dụng hàm str_contains() là rất đơn giản. Chúng ta chỉ cần truyền hai đối số vào hàm: Chuỗi cha và chuỗi con, và sau đó xử lý kết quả trả về theo ý muốn.

<?php
$string = "Chào mừng các bạn đến với javatpoint";
if (str_contains($string, "javatpoint")) {
    echo "Tìm thấy!";
} else {
    echo "Không tìm thấy!";
}
?>

Kết quả của đoạn mã trên sẽ là “Tìm thấy!” vì chuỗi con “javatpoint” được tìm thấy trong chuỗi cha.

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

Hàm str_contains() PHP 8.0 là một hàm mới cho phép bạn kiểm tra xem một chuỗi có chứa một chuỗi con hay không. Hàm này tương đương với hàm strpos() trong các phiên bản PHP trước đó, nhưng nó có một số ưu điểm như:

  • Tốc độ nhanh hơn
  • Phù hợp với tiêu chuẩn Unicode
  • Hỗ trợ xử lý chuỗi con có độ dài bằng 0

Để triển khai hàm str_contains(), bạn có thể sử dụng mã sau:

<?php

function str_contains(string $haystack, string $needle): bool
{
    return strpos($haystack, $needle) !== false;
}

$haystack = "Chào mừng đến với PHP!";
$needle = "PHP";

if (str_contains($haystack, $needle)) {
    echo "Chuỗi chứa chuỗi con.";
} else {
    echo "Chuỗi không chứa chuỗi con.";
}

?>

Ví dụ này sẽ in ra kết quả sau:

Chuỗi chứa chuỗi con.

Bạn cũng có thể triển khai hàm str_contains() bằng cách sử dụng hàm strpbrk():

<?php

function str_contains(string $haystack, string $needle): bool
{
    return strpbrk($haystack, $needle) !== false;
}

$haystack = "Chào mừng đến với PHP!";
$needle = "PHP";

if (str_contains($haystack, $needle)) {
    echo "Chuỗi chứa chuỗi con.";
} else {
    echo "Chuỗi không chứa chuỗi con.";
}

?>

Ví dụ này cũng sẽ in ra kết quả sau:

Chuỗi chứa chuỗi con.

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

Ưu điểm

  • Dễ sử dụng và hiệu quả.
  • Cho phép kiểm tra một chuỗi con bất kỳ trong một chuỗi cha.
  • Kết quả trả về là boolean giúp cho việc xử lý kết quả dễ dàng hơn.

Nhược điểm

  • Hàm là case-sensitive, nghĩa là không tìm kiếm các từ giống nhau nếu chúng có chữ hoa.
  • Hàm này không trả về vị trí hoặc chỉ mục của chuỗi con trong chuỗi cha.

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

Hàm str_contains() là một công cụ hữu ích cho các nhà phát triển web. Tuy nhiên, nếu bạn muốn tìm kiếm một chuỗi con và biết vị trí của nó trong chuỗi cha, bạn có thể sử dụng một số hàm khác như stripos(), strpos() hoặc strrpos(). Bạn nên sử dụng hàm phù hợp với yêu cầu của mình.

Kết luận

Hàm str_contains() là một công cụ hữu ích cho các lập trình viên PHP. Nó cho phép chúng ta kiểm tra xem chuỗi cha có chứa chuỗi con cụ thể hay không. Mặc dù nó có một số nhược điểm, nhưng khi sử dụng đúng cách và kết hợp với các công cụ khác, nó có thể giúp tăng hiệu suất và tiết kiệm thời gian lập trình.

Hàm str_contains() có case-sensitive hay không?

Có, hàm này là case-sensitive.

Hàm str_contains() trả về giá trị gì?

Hàm trả về true hoặc false tùy thuộc vào việc chuỗi cha có chứa chuỗi con hay không.

Hàm str_contains() có thể sử dụng để kiểm tra ký tự đơn?

Có, bạn có thể sử dụng hàm này để kiểm tra ký tự đơn.

Hàm str_contains() có nhược điểm gì?

Hàm là case-sensitive và không trả về vị trí hoặc chỉ mục của chuỗi con trong chuỗi cha.

Hàm stripos() khác gì so với hàm str_contains()?

Hàm stripos() cũng được sử dụng để kiểm tra xem chuỗi con có được tìm thấy trong chuỗi cha hay không, tuy nhiên nó trả về vị trí của chuỗi con trong chuỗi cha nếu tìm thấy.