[PHP] Kiểm tra một chuỗi có chứa chuỗi con hoặc chuỗi khác hay không

Bạn có một chuỗi con và bạn muốn kiểm tra xem liệu nó có nằm trong chuỗi nào đó hay không ? Tôi nghĩ có nhiều bạn gặp trường hợp này rồi và hôm nay tôi sẽ cung cấp 2 giải pháp cho trường hợp này.

Cách 1,

Cách giải quyết khá đơn giản, thuật toán cũng không có gì phức tạp lắm. Sau khi lấy chuỗi con trong chuỗi ban đầu thì chúng ta sẽ kiểm tra độ dài kết quả đó. Nếu độ dài lớn hơn 0 tức là có chuỗi con và ngược lại.

Cách 2,

Giải pháp thứ 2 thì tôi sẽ dùng hàm strpos() để xử lý. Vì sao dùng hàm đó ?

Nguyên nhân là vì hàm strpos() sẽ trả về vị trí của kí tự đầu tiên của chuỗi con nếu tìm thấy nó trong chuỗi ban đầu. Nếu tìm thấy chuỗi con, hàm strpos() sẽ trả về giá trị lớn hơn 0 (true) và ngược lại là false.

Demo,

Đoạn code dưới đây sẽ minh họa cho 2 cách trên

Và kết quả :

Kết luận,

a, Trong 2 cách trên thì các bạn nên dùng cách thứ 2 vì nó nhanh hơn và ít tốn bộ nhớ hơn.

b, Hàm strpos() sẽ trả về vị trí chứ không phải là kiểu boolean nên các bạn hãy dùng !== hoặc === khi so sánh kết quả trả về với false hoặc true. (Đọc thêm bài viết này để hiểu hơn về các kiểu so sánh trong PHP)

 

 

Tin liên quan

PHP compare datetime PHP compare datetime WordPress – Hướng Dẫn Migrate từ HTTP sang HTTPS WordPress – Hướng Dẫn Migrate từ HTTP sang HTTPS How to Fix “Upload: Failed to Write File to Disk” Error in WordPress How to Fix “Upload: Failed to Write File to Disk” Error in WordPress Imagick trong PHP Imagick trong PHP