Có phương thức chứa trong php không?
Đô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 Show
Hướng dẫn này sẽ giải thích
Sử dụng hàm strrpos() để kiểm tra xem chuỗi có chứa chuỗi con khôngPhươ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
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
ví dụ 2 đầu ra
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 conPhươ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
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
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 conThí 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ỗiKhi 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ụ,
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 Phần kết luậnNế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 Rất nhiều lần khi tôi làm việc với các chuỗi trong PHP, điều quan trọng là phải kiểm tra xem một chuỗi có chứa một chuỗi con khác không. PHP có rất nhiều hàm giúp bạn thao tác với chuỗi theo bất kỳ cách nào bạn muốn. Hôm nay chúng ta sẽ sử dụng một số hàm này để tìm hiểu cách kiểm tra xem một chuỗi có chứa một chuỗi con cụ thể hay không
Sử dụng các hàm mới trong PHP 8Ba chức năng mới đã được thêm vào trong PHP 8 để giúp chúng tôi tìm hiểu xem một chuỗi có chứa một chuỗi con khác hay không. Xin lưu ý rằng tất cả các hàm này đều phân biệt chữ hoa chữ thường và việc kiểm tra sự tồn tại của một chuỗi con trống với chúng sẽ luôn trả về
481
2 3 $sentence = "Dolphins and Elephants are intelligent animals."; 4 5 if(str_contains($sentence, "Elephants")) { 6 echo 'Elephants are intelligent.';
0
1
2
3
4
5
6
7
8
9
121 22 23 24 25 26 27 28
130 31 32 33 34 Như tôi đã đề cập trước đó, các chức năng này thực hiện khớp phân biệt chữ hoa chữ thường. Bạn cũng có thể thực hiện khớp không phân biệt chữ hoa chữ thường với chúng bằng cách chuyển đổi cả chuỗi và chuỗi con thành cùng một chữ hoa chữ thường bằng cách sử dụng
52 hoặc
53Các chức năng này là lý tưởng nếu bạn không muốn nhận thêm bất kỳ thông tin nào về các chuỗi con, chẳng hạn như vị trí của chúng. Những người cần thêm thông tin về trận đấu nên cân nhắc sử dụng các chức năng bên dưới Sử dụngBạn có thể sử dụng hàm PHP
54 để lấy vị trí xuất hiện đầu tiên của chuỗi con trong một chuỗi. Hàm sẽ trả về
57 nếu không tìm thấy chuỗi conKhi bạn sử dụng
54 để kiểm tra chuỗi con, hãy đảm bảo rằng bạn sử dụng toán tử bất đẳng thức nghiêm ngặt. Điều này là do vị trí được trả về bởi
54 bắt đầu bằng 0 và 0 cũng có thể tương đương với
57. Sử dụng kiểm tra bằng thông thường sẽ cho bạn phủ định sai nếu chuỗi con ở ngay đầu chuỗi chínhDưới đây là một số ví dụ về
541
2 3 39 4 5 $sentence = "Dolphins and Elephants are intelligent animals.";2 6 $sentence = "Dolphins and Elephants are intelligent animals.";4
0
1
2$sentence = "Dolphins and Elephants are intelligent animals.";8
4
5
742
944 21 46 23 48 24
126 52 28 30 55 32 57 33 46 if(str_contains($sentence, "Elephants")) {0 if(str_contains($sentence, "Elephants")) {1 if(str_contains($sentence, "Elephants")) {2
1if(str_contains($sentence, "Elephants")) {4 if(str_contains($sentence, "Elephants")) {5 if(str_contains($sentence, "Elephants")) {6 if(str_contains($sentence, "Elephants")) {7 34 Như bạn có thể thấy trong ví dụ trên, Angela không ở đầu câu của chúng ta, vì vậy nó sẽ có một vị trí khác 0 có giá trị là
48Mặt khác, Amy đúng ở đầu và vị trí 0 của nó được đánh giá là sai, mặc dù nó tồn tại trong chuỗi. Do đó, hãy luôn đảm bảo rằng bạn đánh giá giá trị của
54 với
64 vì không có cách nào để biết vị trí của một chuỗi con khi xử lý các chuỗi trong thực tếĐôi khi, bạn có thể cần thực hiện việc kiểm tra chuỗi con này trong chuỗi không phân biệt chữ hoa chữ thường. Trong trường hợp đó, bạn chỉ cần sử dụng hàm
55 trong PHP. Nó hoạt động chính xác như
54 nhưng làm cho tìm kiếm không phân biệt chữ hoa chữ thường1
2 3 63 4 5___ 66 622_______8
0
1
2
4echo 'Elephants are intelligent.';3
5echo 'Elephants are intelligent.';5
7
1_______10_______9____21_______1_______16_______ 9_______ Sử dụngTheo mặc định, hàm
67 trả về một phần của chuỗi chính, bắt đầu từ chuỗi con và đi đến cuối chuỗi chính. Nó sẽ trả về
57 nếu chuỗi con không tồn tại bên trong chuỗi chínhChúng ta có thể sử dụng thông tin này để kiểm tra sự tồn tại của một chuỗi con bên trong một chuỗi. Tất cả những gì chúng ta phải làm là đánh giá giá trị được trả về bởi
67 và kiểm tra xem nó có phải là
57 hay không. Cũng giống như lần trước, chúng ta sẽ sử dụng toán tử bất đẳng thức nghiêm ngặt
64 để kiểm traDưới đây là một số ví dụ 1
2 3
074
095 6
12
0
14
2
1
4
18
5
7
21
9
2321 46 23
2724
126
3128 30
3432
3633 46 if(str_contains($sentence, "Elephants")) {0
40if(str_contains($sentence, "Elephants")) {2
1if(str_contains($sentence, "Elephants")) {4
44if(str_contains($sentence, "Elephants")) {6 if(str_contains($sentence, "Elephants")) {7 34 Bạn có thể sử dụng
68 thay cho
67 để làm cho tìm kiếm không phân biệt chữ hoa chữ thường. Tất cả các hành vi khác của
68 vẫn giữ nguyênSuy nghĩ cuối cùngTrong thủ thuật nhanh này, chúng ta đã tìm hiểu ba cách khác nhau để kiểm tra xem một chuỗi có chứa chuỗi con hay không trong PHP. Bạn có thể sử dụng bất kỳ chức năng nào trong số này tùy thuộc vào thông tin bạn cần từ chuỗi. Sử dụng các hàm PHP 8 mới sẽ cho phép bạn bỏ qua bất kỳ loại kiểm tra nghiêm ngặt nào, nhưng bạn sẽ cần sử dụng các hàm cũ hơn nếu bạn muốn biết vị trí của chuỗi con hoặc lấy một phần của chuỗi chính làm giá trị trả về Làm cách nào để kiểm tra xem một chuỗi có chứa văn bản trong PHP không?Kể từ PHP 8+, bạn có thể sử dụng hàm str_contains($string, $substring) mới để kiểm tra xem một chuỗi có chứa . Hàm str_contains() trả về "true" nếu chuỗi chứa chuỗi con hoặc "false" nếu ngược lại.
Làm cách nào để kiểm tra xem một chuỗi có chứa một ký tự cụ thể trong PHP không?Sử dụng str_contains . 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.
Làm cách nào để khớp chuỗi trong PHP?Hàm strcmp() so sánh hai chuỗi . Ghi chú. Hàm strcmp() an toàn nhị phân và phân biệt chữ hoa chữ thường. Mẹo. Hàm này tương tự như hàm strncmp(), với sự khác biệt là bạn có thể chỉ định số lượng ký tự từ mỗi chuỗi sẽ được sử dụng để so sánh với hàm strncmp().
Làm cách nào để lấy từ cụ thể từ chuỗi trong PHP?strpos() - Tìm kiếm văn bản trong một chuỗi
. Nếu tìm thấy khớp, hàm trả về vị trí ký tự của khớp đầu tiên. Nếu không tìm thấy kết quả phù hợp, nó sẽ trả về FALSE. |