Giống như trong chuỗi PHP

Đôi khi, bạn có thể muốn kiểm tra xem một chuỗi có chứa một từ hoặc chuỗi con cụ thể hay không. Điều này là do bạn có thể phải thực hiện một số thao tác trên chuỗi con hoặc từ đó. Một trong những cách dễ nhất để làm điều này là trong PHP là sử dụng hàm strpos(). Chúng ta sẽ xem xét các cách khác để kiểm tra chuỗi con trong bài viết này

Hướng dẫn này sẽ giải thích

  1. Cách kiểm tra xem chuỗi có chứa chuỗi con không
  2. Tìm từ cụ thể trong chuỗi

Sử dụng hàm strrpos() để kiểm tra xem chuỗi có chứa chuỗi con không

Phương thức strrpos() được sử dụng để xác định vị trí xuất hiện cuối cùng của một chuỗi con hoặc từ trong một chuỗi. Vị trí chuỗi bắt đầu từ 0. Nếu không tìm thấy chuỗi, giá trị Boolean Sai được trả về

cú pháp

strrpos(string,find,start)

Phương thức nhận 2 tham số là chuỗi cần tìm và chuỗi con cần tìm. Tham số tùy chọn start cho biết nơi bắt đầu quá trình tìm kiếm

Thí dụ

đầu ra

Word Found at Position: 16

ví dụ 2

đầu ra

Word Found at Position: 16

Trong cả hai ví dụ trên, phương thức strpos() nhận các tham số $mystring và $word. Điều kiện if kiểm tra xem chuỗi con có được tìm thấy hay không. Câu lệnh echo in ra vị trí của chuỗi.   

Sử dụng preg_match để tìm kiếm chuỗi chứa chuỗi con

Phương thức preg_match() là một đối sánh biểu thức chính quy giúp tìm một chuỗi

cú pháp

preg_match(pattern, input)

Các tham số chính là mẫu là biểu thức để tìm kiếm. Tham số đầu vào là chuỗi tìm kiếm diễn ra.    

đầu ra

Word Found

Nếu bạn xem xét hiệu suất, thì strpos() nhanh hơn khoảng ba lần so với preg_match(). Phương thức preg_match() mất khoảng 1. 5 giây để hoàn thành một thao tác, trong khi strpos() mất khoảng 0. 5 giây

Sử dụng chức năng preg_match không phân biệt chữ hoa chữ thường để tìm kiếm chuỗi chứa chuỗi con

Thí dụ

Chữ i ở cuối biểu thức chính quy được dùng để thay đổi biểu thức chính quy thành một biểu thức không phân biệt chữ hoa chữ thường

Sử dụng chức năng preg_match để tìm kiếm công việc cụ thể trong chuỗi

Khi bạn đang tìm kiếm một từ cụ thể chứ không phải một chuỗi con, bạn cần hiểu rằng chúng cũng có thể xuất hiện trong các từ khác. Ví dụ,

  • "are" ở đầu "khu vực"
  • "are" ở giữa "giá vé"

Một cách để giảm thiểu điều này là sử dụng biểu thức chính quy kết hợp với ranh giới từ (\b)

Thí dụ

Ví dụ trên sẽ tìm kiếm từ “are”. Nó không phân biệt chữ hoa chữ thường

Sự kết luận

Nếu bạn muốn tìm chuỗi con như url ‘https. //www. stechies. com/photoshop/’ và bạn muốn tìm kiếm chuỗi con ‘stechies’ thì bạn nên tìm strpos()

Nhưng nếu bạn muốn tìm kiếm một từ cụ thể trong chuỗi, chẳng hạn như “stechies” trong chuỗi 'hi stechies là trang web tốt nhất để hướng dẫn đào tạo' thì bạn nên truy cập preg_match với các biểu thức chính quy

Trong hướng dẫn ngắn này, chúng ta xem xét cách kiểm tra xem một chuỗi PHP có chứa chuỗi con hay không. Chúng tôi cũng xem xét các phương pháp thao tác chuỗi có liên quan khác

Tuy nhiên, trong trường hợp bạn ở đây chỉ vì giải pháp, hãy sử dụng liên kết này

Mục lục - Chuỗi PHP chứa

  • Tại sao phải kiểm tra xem chuỗi PHP có chứa chuỗi con không?
  • Sử dụng
    08
  • Sử dụng
    09, 
    20 và 
    21
  • Chuỗi PHP chứa - Hạn chế và Hãy cẩn thận
  • Các khái niệm liên quan khác

Tại sao phải kiểm tra xem chuỗi PHP có chứa chuỗi con không?

Trong khi viết mã, một thực tế phổ biến là kiểm tra xem một chuỗi có chứa chuỗi con hay không. Sau đó, mỗi ngôn ngữ đi kèm với một vài phương pháp có thể được sử dụng để làm điều tương tự

Chuỗi chứa (str_contains) là phương thức được sử dụng phổ biến nhất trong PHP. Tuy nhiên, các phương pháp bạn chọn sẽ được quyết định dựa trên các trường hợp sử dụng của bạn

Nếu bạn đang muốn kiểm tra xem một chuỗi có chứa chuỗi con hay không, bạn có thể sử dụng hàm str_contains. Tuy nhiên, nếu bạn muốn kiểm tra xem một chuỗi con có tồn tại hay không và để trả về chỉ mục của nó, thì có thể sử dụng các phương thức stripos và strpos

Ngoài ra, chúng ta hãy xem xét tất cả các phương pháp này một cách sâu sắc

Sử dụng 08

str_contains là một chức năng mới được giới thiệu trong PHP 8. Phương thức này được sử dụng để kiểm tra xem một chuỗi PHP có chứa một chuỗi con hay không

Hàm kiểm tra chuỗi và trả về giá trị boolean true trong trường hợp nó tồn tại và sai nếu ngược lại. Tuy nhiên, hãy nhớ rằng str_contains phân biệt chữ hoa chữ thường. Đảm bảo rằng chuỗi con được sử dụng để tìm kiếm ở đúng trường hợp hoặc bạn có thể sử dụng phương thức strtolower()

Cú pháp của PHP 23

6

Thông số

24 - Bắt buộc, chuỗi gốc mà bạn định tìm kiếm

25 - Bắt buộc, chuỗi con mà bạn đang muốn kiểm tra xem chuỗi PHP có chứa

Mã & Giải thích

0

str_contains trả về giá trị boolean true hoặc false và do đó thường được đặt bên trong câu lệnh có điều kiện

Như đã nói ở trên, phương thức str_contains phân biệt chữ hoa chữ thường, đây là một ví dụ tương tự

2

Để tránh những trường hợp như vậy, bạn có thể đảm bảo rằng chuỗi con được sử dụng để tìm kiếm ở đúng trường hợp hoặc bạn có thể sử dụng phương thức strtolower()

Sử dụng 09, 20 và 21

Phương thức này dùng để kiểm tra và trả về chỉ số của chuỗi con trong trường hợp chuỗi PHP chứa nó. Các phương pháp sau đây có thể được sử dụng để đạt được điều này

Phương thức stripos kiểm tra xem một chuỗi PHP có chứa một chuỗi con hay không và trả về chỉ mục của lần xuất hiện đầu tiên của chuỗi con

Tuy nhiên, phương thức stripos không phân biệt chữ hoa chữ thường và nếu bạn đang muốn kiểm tra phân biệt chữ hoa chữ thường xem một chuỗi PHP có chứa một chuỗi con hay không, bạn có thể sử dụng các phương thức strpos

Cuối cùng, không giống như các phương thức trước đó, strrpos trả về lần xuất hiện cuối cùng của chuỗi con

Cú pháp của 09, 20 và 21

Word Found at Position: 16
7

Thông số.

24 - Bắt buộc, chuỗi gốc mà bạn muốn tìm kiếm

25 - Bắt buộc, chuỗi con mà bạn đang muốn kiểm tra xem chuỗi đó có chứa

Word Found at Position: 16
74 - Tùy chọn, cụ thể nơi bắt đầu tìm kiếm chuỗi con

trả lại

Khi được sử dụng để kiểm tra xem một chuỗi PHP có chứa một chuỗi con hay không, cả ba phương thức đều trả về một chỉ mục trong khoảng từ 0 đến n-1 và trả về false nếu không tìm thấy chuỗi con

Tuy nhiên, do 0 cũng là một giá trị sai, hãy nhớ sử dụng toán tử giống hoặc không giống nhau === hoặc. == và không bằng toán tử == vì 0 cũng sẽ được coi là sai

Mã & Giải thích

1Vì stripos không phân biệt chữ hoa chữ thường, nên nó không trả về giá trị sai khi được sử dụng để kiểm tra xem chuỗi PHP có chứa chuỗi con 'Top' hay không. Tuy nhiên, đây không phải là trường hợp khi strpos hoặc strrpos được sử dụng. 

Bây giờ, hãy xem xét trường hợp chỉ số bằng 0.

______32

Như bạn có thể thấy ban đầu. = toán tử coi 0 là sai và trả về đầu ra âm. Đây là lý do tại sao điều quan trọng là sử dụng các toán tử giống hệt nhau trong khi sử dụng các phương thức này

Làm cách nào tôi có thể khớp một ký tự trong một chuỗi trong PHP?

Định nghĩa và cách sử dụng . strrchr() function finds the position of the last occurrence of a string within another string, and returns all characters from this position to the end of the string.

Strstr PHP là gì?

Hàm strstr() tìm kiếm sự xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác . Ghi chú. Hàm này an toàn nhị phân. Ghi chú. Hàm này phân biệt chữ hoa chữ thường. Đối với tìm kiếm không phân biệt chữ hoa chữ thường, hãy sử dụng hàm stristr().

Chuỗi trong PHP với ví dụ là gì?

Chuỗi là chuỗi ký tự, trong đó một ký tự giống như một byte . Điều này có nghĩa là PHP chỉ hỗ trợ bộ 256 ký tự và do đó không cung cấp hỗ trợ Unicode gốc. Xem chi tiết kiểu chuỗi. Ghi chú. Trên các bản dựng 32 bit, một chuỗi có thể lớn tới 2GB (tối đa 2147483647 byte)