So sánh hai chuỗi trong php và hiển thị sự khác biệt về ký tự
Bạn có thể so sánh hai chuỗi bằng nhau với các toán tử 2 và 3. Các toán tử này khác nhau về cách chúng xử lý các toán hạng không phải chuỗi. Toán tử 2 chuyển toán hạng chuỗi thành số, do đó, nó báo cáo rằng 5 và 6 bằng nhau. Do các quy tắc để truyền chuỗi thành số, nó cũng sẽ báo cáo rằng 5 và 8 bằng nhau, vì chỉ phần của chuỗi có ký tự không phải là số được sử dụng khi truyền nó. Toán tử 3 không ép kiểu và trả về 0 nếu kiểu dữ liệu của các đối số khác nhau Show
Các toán tử so sánh ( 1, 2, 3, 4) cũng hoạt động trên chuỗi
Tuy nhiên, các toán tử so sánh đưa ra kết quả không mong muốn khi so sánh các chuỗi và số ________số 8_______Khi một đối số cho toán tử so sánh là một số, thì đối số kia được chuyển thành một số. Điều này có nghĩa là 5 được chuyển thành một số, cho kết quả là 6 (vì chuỗi không bắt đầu bằng một số). Bởi vì 0 nhỏ hơn 5, PHP in 7 Để so sánh rõ ràng hai chuỗi dưới dạng chuỗi, truyền số thành chuỗi nếu cần, hãy sử dụng hàm 8 $relationship = strcmp( Hàm trả về một số nhỏ hơn 0 nếu 9 sắp xếp trước $relationship = strcmp(0, lớn hơn 0 nếu $relationship = strcmp(0 sắp xếp trước 9 hoặc 0 nếu chúng giống nhau
Một biến thể trên 8 là $relationship = strcmp(4, chuyển đổi chuỗi thành chữ thường trước khi so sánh chúng. Các đối số và giá trị trả về của nó giống như đối số của 8
Một biến thể khác của so sánh chuỗi là chỉ so sánh một vài ký tự đầu tiên của chuỗi. Các hàm $relationship = strcmp(6 và $relationship = strcmp(7 nhận một đối số bổ sung, số lượng ký tự ban đầu được sử dụng để so sánh
Biến thể cuối cùng của các hàm này là so sánh theo thứ tự tự nhiên với $relationship = strcmp(8 và $relationship = strcmp(9, lấy cùng các đối số như 8 và trả về cùng loại giá trị. So sánh theo thứ tự tự nhiên xác định các phần số của các chuỗi được so sánh và sắp xếp các phần chuỗi riêng biệt với các phần số hiển thị các chuỗi theo thứ tự tự nhiên và thứ tự ASCII Bảng 4-5. Thứ tự tự nhiên so với thứ tự ASCII Trật tự tự nhiên thứ tự ASCII 1 1 3 4 4 3 7 7 PHP cung cấp một số hàm cho phép bạn kiểm tra xem hai chuỗi có xấp xỉ bằng nhau không. 9, 0, 1 và 2
Mỗi thuật toán Soundex và Metaphone tạo ra một chuỗi đại diện cho cách phát âm của một từ trong tiếng Anh. Để xem liệu hai chuỗi có xấp xỉ bằng nhau với các thuật toán này hay không, hãy so sánh cách phát âm của chúng. Bạn chỉ có thể so sánh giá trị Soundex với giá trị Soundex và chỉ giá trị Metaphone với giá trị Metaphone. Thuật toán Metaphone thường chính xác hơn, như ví dụ sau minh họa
Hàm 1 trả về số lượng ký tự mà hai đối số chuỗi của nó có điểm chung. Đối số thứ ba, nếu có, là một biến để lưu trữ mức độ phổ biến dưới dạng phần trăm
Thuật toán Levenshtein tính toán độ giống nhau của hai chuỗi dựa trên số lượng ký tự bạn phải thêm, thay thế hoặc xóa để làm cho chúng giống nhau. Chẳng hạn, 4 và 5 có khoảng cách Levenshtein là 1, vì bạn chỉ cần thay đổi một ký tự (____________6 thành 7) để làm cho chúng giống nhau 0 Thước đo độ tương tự này thường được tính toán nhanh hơn so với thước đo được sử dụng bởi hàm 1. Theo tùy chọn, bạn có thể chuyển ba giá trị cho hàm 2 để tính trọng số riêng lẻ cho các lần chèn, xóa và thay thế—ví dụ: để so sánh một từ với một từ rút gọn Ví dụ này đặt trọng số quá mức cho phép chèn khi so sánh một chuỗi với khả năng co lại của nó, bởi vì phép rút gọn không bao giờ được chèn các ký tự Làm cách nào để so sánh hai chuỗi ký tự theo ký tự 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().
Bạn có thể sử dụng == để so sánh các chuỗi trong PHP không?Toán tử gán chỉ định biến ở bên trái để có một giá trị mới như biến ở bên phải, trong khi toán tử bằng == kiểm tra sự bằng nhau và trả về đúng hoặc sai tùy theo . Thí dụ. Ví dụ này mô tả so sánh chuỗi bằng toán tử ==. . Example: This example describes the string comparison using the == operator.
Làm cách nào để so sánh hai chuỗi trong điều kiện if trong PHP?hàm strcasecmp()
. Nó không phân biệt chữ hoa chữ thường cũng như an toàn nhị phân (có nghĩa là nó không trả về 0 hoặc 1). Nó sẽ trả về số không (0) nếu cả hai chuỗi bằng nhau.
Làm thế nào để PHP so sánh các chuỗi với các toán tử so sánh?PHP sẽ so sánh các chuỗi alpha sử dụng toán tử so sánh lớn hơn và nhỏ hơn dựa trên thứ tự bảng chữ cái . Trong ví dụ đầu tiên, ai đứng trước i theo thứ tự bảng chữ cái nên phép thử của > (lớn hơn) là sai - thứ tự sớm hơn được coi là 'nhỏ hơn' thay vì 'lớn hơn'. |