Link web : https://tanvietblog.com/2011/08/28/php-kiem-tra-mot-chuoi-co-chua-chuoi-con-hoac-chuoi-khac-hay-khong
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)